home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d17 / sfnec.arc / MANUAL.DOC < prev    next >
Encoding:
Text File  |  1984-11-15  |  122.0 KB  |  3,426 lines

  1. !
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. 
  10.           NEC 8023A UTILITIES
  11.                  MANUAL"
  12.                                 (version 1.0)
  13.  
  14.  
  15.  
  16.  
  17.                              (c) Copyright 1984
  18.                                      by
  19.                                Michael L Hoyt
  20.  
  21.                             All rights reserved
  22.  
  23.  
  24.  
  25.  
  26. L021
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. !Q>
  34. T16S0061Ç`00`└ÇN >T16S0206<~τ├├├├├├╟Ä └αp000000pα└└└└└ⁿ■╟├├├0000  0000Çⁿ■├├■<Ç└└  ├├├├├├├├≡≡└`000pα└≤≤└αp0000pα└≡≡└`000pα└└αp000000`    ≡≡ÇÇ≡≡Q
  35. S0061└  ïV$&c`ÇÇ 0p   α└ÇL╨α└ÇÇÇN S0193 8000000980000008??8000900137;310??????333333????8000000????└┴├τ~<Q
  36. S0068@α0Çä║■µ|Çxä▓·╬ⁿ°αÇ 0└
  37. S0070α└ αááá  áá░░α╚±├<ª(╦P R 2  Box 65Q
  38. S0068╟8Çα @ÇÇÇÇâGOOGâÇ@ pⁿÇpÇxα
  39. S0070 @Ç0@`└≡ àâB""$$èëE≥≡8?└P Solsberry  INQ
  40. S0069!@ÇÇÇÇÇ@éqé┬"@`ÇÿxÇ└9
  41. S0070@└á░  ⁿ>@└p@ÇÇ@`(─P                    47459Q
  42. S0065≡≡Ç└α╬ⁿ
  43. S0068 p^┴ >dα !  0αÇ
  44. S0079 0Å`Ç@└  └Ç└@@└ÇP  812-825-7384Q
  45. S0088ÇÇÇ└≡Ç┴?└pÇÇα0  `└
  46. S0089└≡'<ⁿ└ pÇ ÇyÇ■
  47. S00916Öá8  8└ÿ0 ≡ α`Ç
  48. S0094 8╪'H@Çxǰ`?└αx└
  49. S0104@α╪╠
  50.  
  51. æßaÄ8αÇ≡└Φ|<└ p@@@@@@ÇÇÇ
  52. S0110▐9α`≡╛ÇÇ@@!"öTXhαƒÇ└   PHº @@@ÇÇ≡
  53. S0110y╟ü°0LÇ└≡ß└ Çⁿ y═α ÇÇ└p<ê╚Df3Ç`£└`ⁿÇaÇ└@8
  54. S0105 
  55. 
  56. 
  57. "T70
  58. <
  59. NL008
  60. A
  61.  
  62. !
  63.  
  64.  
  65. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  66. :                                                             :
  67. :                           WARNING                           :
  68. :                                                             :
  69. :       This  manual and software  are  both  protected       :     
  70. :       by  U.S. Copyright law (Title 17, United States       :
  71. :       Code.)   Unauthorized reproduction and/or  sale       :
  72. :       may  result in imprisonment of up to  one  year       :
  73. :       and fines of up to $10,000.  Those who infringe       :
  74. :       may also be subject to civil liability.               :
  75. :                                                             :
  76. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  77. "
  78.  
  79. The NEC 8023A UTILITIES are distributed with no guarantee  that
  80. they  will work correctly in all situations.   In no event will
  81. the author be held liable for damages resulting from the use of
  82. these program procedures.
  83.  
  84. !BUT!"   It  is the author's intent to fix any existing bugs  and
  85. improve  the software to the extent of his abilities.   If  you
  86. have problems,  suggestions,  and/or find bugs,  please contact
  87. SOFT & FRIENDLY.
  88.  
  89. To  receive a copy of the latest version of NEC 8023A UTILITIES
  90. for  evaluation,  send 1 formatted double sided,  or  2  single
  91. sided,  diskette(s) along with a self  addressed,  postage-paid
  92. return  mailer to SOFT & FRIENDLY.   !OR!!   Prepay your  $45.00
  93. registration fee,  and a double sided diskette and mailer  will
  94. be provided by the author."
  95.  
  96. You  have  the permission of the author to make copies  of  the
  97. software  included  in  this  package  for  others  to  use  in
  98. evaluation  of the product.   !It is then up to that person  who
  99. receives a copy to either send a registration fee,  pass  along
  100. the copy to another interested user,  or destroy the evaluation
  101. copy."
  102.  
  103. !The entire distribution package,  including the manual and each
  104. of  the  software  procedures (as electronic data  and/or  hard
  105. copy),  is (c) copyright 1983, 1984 by Michael L Hoyt of SOFT &
  106. FRIENDLY.  All rights reserved.
  107.  
  108. The  author  reserves  the exclusive right to  distribute  this
  109. package,  in  whole or in parts,  for profit and  expects  each
  110. person  who  uses any or all of the package to send the  $45.00
  111. registration fee to SOFT & FRIENDLY."
  112.  
  113. Similar  software  is available from the author  for  use  with
  114. other  printers  on the market.   Please contact him  for  more
  115. information.
  116.  
  117.  
  118.  
  119.  
  120.                                 i
  121.  
  122. L008                                                        X!PREFACE"Y
  123.  
  124.  
  125.                                                                 
  126. This  reference manual is for use with the !NEC 8023A  UTILITIES"
  127. software.   It  contains  a  lot of  very  useful  information.
  128. There  are sections which deal specifically with the use of the
  129. accompanying software and other portions that contain  informa-
  130. tion about using your dot matrix printer with other software
  131.  
  132.  
  133. !NOVICE USERS"
  134. E
  135.         Especially if you are new to computing, you should be able
  136.         to  learn a lot of information about your printer and  its
  137.         use just by reading this manual.  Don't worry about remem-
  138.         bering  everything  on the first reading.   The manual  is
  139.         designed  so  that you will be able to use it  for  future
  140.         reference.   Sure,  there is a lot of of technical  stuff,
  141.         but  you don't have to understand everything the first day
  142.         to get great results from your printer.   As you go  along
  143.         you  will  pick up the fine points of using a printer  and
  144.         learn about the advanced features of the !NEC 8023A".
  145. N
  146.  
  147. !TECHNICAL USERS"
  148. E
  149.         There  is  plenty  of information in this manual  for  you
  150.         also.   Of course,  some of you may want to skip a section
  151.         or  two(2)  and  probably already know  how  to  use  your
  152.         printer.   But,  the software that accompanies this manual
  153.         can  prove to be very useful and a real time saver in many
  154.         situations.   Spending  some time now reading  about  this
  155.         software  could  save you substantially more time at  some
  156.         point in the future.  This manual also contains  technical
  157.         information,  that although possible to aquire  from  many
  158.         other sources, is presented here in an organized form.
  159. N
  160.  
  161. !ALL USERS"
  162. E
  163.         The NEC 8023A UTILITIES are intended to be user supported.
  164.         That is,  even though the package is basically the work of
  165.         one person,  improvements, additions and/or deletions will
  166.         happen  because you the user have contributed in some way.
  167.         Your contribution,  besides the monetary part, may consist
  168.         of suggestions,  gripes,  code changes,  whatever...   All
  169.         will be appreciated and given due consideration.   So help
  170.         yourself and the others who use these  utilities.   !Please
  171.         contribute!"
  172. N
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.                                ii
  180.  
  181.                                                        X!CONTENTS"Y
  182.  
  183.  
  184. !SOFTWARE OVERVIEW" ----------------------------------------- 1.1
  185.      List of Included Software ---------------------------- 1.1
  186.      Distribution ----------------------------------------- 1.2
  187.      System Requirements ---------------------------------- 1.3
  188.      Backup Copies ---------------------------------------- 1.4
  189.  
  190. !PRINT_SCREEN" ---------------------------------------------- 2.1
  191.      Program Use ------------------------------------------ 2.1
  192.      Installation ----------------------------------------- 2.1
  193.      Demonstration ---------------------------------------- 2.2
  194.      Direct Access from BASIC ----------------------------- 2.4
  195.      Technical Information -------------------------------- 2.6
  196.  
  197. !PRINT_CHARACTERS" ------------------------------------------ 3.1
  198.      Program Use ------------------------------------------ 3.1
  199.           Italics Characters ------------------------------ 3.1
  200.           The Extended Character Set ---------------------- 3.1
  201.      Installation ----------------------------------------- 3.2
  202.      Demonstration ---------------------------------------- 3.2
  203.      Technical Information -------------------------------- 3.4
  204.  
  205. !PRINTER_SET" ----------------------------------------------- 4.1
  206.      Program Use ------------------------------------------ 4.1
  207.      Setting Printer Parameters --------------------------- 4.1
  208.           Character Pitch --------------------------------- 4.2
  209.           Line Spacing ------------------------------------ 4.3
  210.           Horizontal Tabs --------------------------------- 4.4
  211.           Left Margin ------------------------------------- 4.6
  212.           Forms (Vertical Format) ------------------------- 4.7
  213.           Vertical Tabs ---------------------------------- 4.16
  214.      Installation ---------------------------------------- 4.19
  215.      Demonstration --------------------------------------- 4.19
  216.  
  217. !WORD PROCESSING" ------------------------------------------- 5.1
  218.      WordStar --------------------------------------------- 5.2
  219.      Volkswriter ----------------------------------------- 5.12
  220.      FinalWord ------------------------------------------- 5.13
  221.      ??????????? ------------------------------------------ 5.x
  222.  
  223. !APPENDICIES" ----------------------------------------------- APX
  224.      Printer Switch Settings ------------------------------ A.1
  225.      H Test ----------------------------------------------- B.1
  226.      Control Sequences (a list) --------------------------- C.1
  227.           General Printer Control ------------------------- C.1
  228.           Horizontal Movement ----------------------------- C.2
  229.           Vertical Movement ------------------------------- C.5
  230.           Manipulation of Printable Characters ------------ C.8
  231.           Bit-Graphics ----------------------------------- C.10
  232.      ASCII Character Codes (a list) ----------------------- D.1
  233.      Numbering Systems ------------------------------------ E.1
  234.  
  235. !INDEX" ----------------------------------------------------- X.1
  236.  
  237. !ADVERTISING" ----------------------------------------------- ADV
  238.                                iii
  239.  
  240.                                               X!SOFTWARE OVERVIEW"Y
  241.  
  242.  
  243.  
  244. Put  quite  simply,  the accompanying software is  designed  to 
  245. enhance  the value of your !NEC 8023A" when it is hooked to  your 
  246. !IMB PC, IBM XT or PCjr".  The functions supplied by each program 
  247. will  prove  to be very useful in many  applications,  both  by 
  248. themselves and when used with other software.
  249.  
  250.  
  251. !LIST OF INCLUDED SOFTWARE"
  252.      
  253.  
  254.   !PRINT_SCREEN (PRNT-SCN.COM)"
  255. E        This program will make it possible for you to make a print 
  256.         of any graphics screen that is visible on your display.
  257. N
  258.   !PRINT_CHARACTERS (PRNT-CHR.COM)"
  259. E        With  this program loaded to memory,  you will not only be 
  260.         able to print italics characters,  but also print  charac-
  261.         ters from the Extended ASCII Set (those are the characters 
  262.         above ASCII 126 that IBM so kindly provided for your use).
  263. N
  264.   !PRINTER_SET (PRNT-SET.COM)"
  265. E        With this program running, you can set the most often used 
  266.         (and  some not so often used) printer parameters.   And it 
  267.         can  be  done with very  few  keystrokes;  sometimes  only 
  268.         one(1) is needed.
  269. N
  270.   !SCREEN_DEMO (SCN-DEMO.BAS)"
  271. E        This  is  a demonstration program which shows what can  be 
  272.         done using PRINT_SCREEN.
  273. N
  274.   !CHARACTERS_DEMO (CHR-DEMO.BAS)"
  275. E        A demonstration program for PRINT_CHARACTERS.
  276. N
  277.   !UNITED STATES (USMAP.PIC)"
  278. E        A representation of a medium-graphics screen used with the 
  279.         SCN-DEMO program.
  280. N
  281.   !PRINT MANUAL (PRN-MAN.BAT)"
  282. E        The batch file that prints your copy of the manual.
  283. N
  284.   !MANUAL (MANUAL.DOC)"
  285. E        The ASCII file that contains the formatted manual.
  286. N
  287.   !PRINT APPENDIX (PRN-APX.BAT)"
  288. E        The batch file that prints your copy of the appendix & index.
  289. N
  290.   !APPENDIX (APPENDIX.DOC)"
  291. E        The ASCII file that contains the formatted appendix and index.
  292. N
  293.   !NOTICE (NOTICE)"
  294. E        A message to those who print the manual and/or appendix.
  295. N
  296.  
  297.                                1.1
  298.  
  299.                                   (continued) !XSOFTWARE OVERVIEWY
  300.  
  301.  
  302.  
  303. DISTRIBUTION
  304.  
  305.  
  306. The NEC 8023A UTILITIES is user supported software."  This means
  307. that  you,  the user have the main responsibility for  deciding
  308. whether the software continues to exist.   If you feel that  it
  309. is not useful,  then of course,  don't support it and don't use
  310. it!   If,  on  the other hand,  you do find it useful and think
  311. that others might also, contribute to its continued viability.
  312.  
  313. !YOU are the distributor for this software."   Yes,  it is  copy-
  314. righted,   but  you  have  permission  to  copy  the  NEC 8023A
  315. UTILITIES  for others to evaluate as long as you copy the  dis-
  316. tribution  diskette  in  its entirety and make  no  charges  or
  317. receive other considerations for doing so.
  318.  
  319. If  after  receiving and evaluating the package,  you  find  it
  320. useful,  you  are expected to send a registration fee of $45.00
  321. to SOFT & FRIENDLY or discontinue its use.   This  registration
  322. entitles you to direct support from SOFT & FRIENDLY, if needed,
  323. and  notification of all updates and  improvements.   Remember!
  324. Your  money helps pay for FRIENDLY'S food so he can spend  more
  325. time  developing and updating software for your  use.   Without
  326. it,  he'll  have to spend less time on your software  and  more
  327. time on other income producing endeavors.
  328.  
  329. Anyone may receive a copy of this utility package by sending  1
  330. formatted  double sided,  or 2 single sided,  diskette(s) along
  331. with  a self addressed,  postage-paid return mailer to  SOFT  &
  332. FRIENDLY.   Or  if you prepay your registration fee of  $45.00,
  333. you  will  receive  the NEC 8023A UTILITIES on a  double  sided
  334. diskette provided by SOFT & FRIENDLY.
  335.  
  336. The source code for each of the procedures is available for  an
  337. additional fee of $50.00.  It is available directly from !SOFT &
  338. FRIENDLY  who  reserves the exclusive right to  distribute  the
  339. source  code.   Unauthorized duplication or distribution of the
  340. source code  for any procedure from the  NEC 8023A UTILITIES is
  341. prohibited and punishable by law."
  342.  
  343. Although  the NEC 8023A UTILITIES software is distributed on  a
  344. one copy one user basis,  !volume registration is available at a
  345. discounted price".  For the discount registration rates, contact
  346. SOFT & FRIENDLY directly.
  347.  
  348. This  software/manual  package is for use with the  dot  matrix
  349. printers  NEC 8023 A-C.  Other packages are available for other
  350. printers  Contact SOFT & FRIENDLY for the current list of  sup-
  351. ported printers.
  352.  
  353.  
  354.  
  355.  
  356.                                1.2
  357.  
  358.                                   (continued) X!SOFTWARE OVERVIEW"Y
  359.  
  360.  
  361.  
  362. !SYSTEM REQUIREMENTS"
  363.  
  364.  
  365.  
  366.  
  367. Here  is what you need to use this software.   The software was
  368. designed so that almost no one with an IBM PC would be excluded
  369. from its use.
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.     !COMPUTER"          -  IBM PC  or  IBM XT  or  IBM PCjr
  381.  
  382.     !MEMORY"            -  64 K
  383.  
  384.     !OPERATING SYSTEM"  -  DOS 1.1  or  2.0  or  2.1
  385.  
  386.     !DISKDRIVES"        -  ONE(1) SINGLE SIDED
  387.  
  388.     !DISPLAY"           -  COLOR  or  MONOCHROME
  389. T12
  390.   *
  391.     !DISPLAY ADAPTER"   -  COLOR/GRAPHICS  or  MONOCHROMEA
  392.  
  393.     !PRINTER"           -  NEC 8023 A-C
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411. T12
  412. *
  413. Q      If you have only the MONOCHROME ADAPTER you will not be able to use PRINT_SCREEN.T72
  414. NA
  415.                                1.3
  416.  
  417.                                   (continued) X!SOFTWARE OVERVIEW"Y
  418.  
  419.  
  420.  
  421. !BACKUP COPIES"
  422.  
  423.    It's  a  very  good idea to have backup copies of  all  your
  424.    valuable  software.   It  will save you time and  money  you
  425.    might  have to spend trying to recover your losses if  some-
  426.    thing happen  (god forbid).   This software is no exception.
  427.    Use the !DISKCOPY" or !COPY" commands which are included as part
  428.    of PC-DOS to make as many copies as you need to feel  secure
  429.    in  knowing that if your cat chews on a few  diskettes,  you
  430.    won't be in !BIG TROUBLE".
  431.  
  432.  
  433.    Let's  start by making a !DEMOnstration diskette" to use  with
  434.    the  tutorials  contained in this manual.   This  will  also
  435.    produce  your first backup copy of the software which is  on
  436.    the !NEC 8023A UTILITIES" diskette.
  437.  
  438.  
  439.    !1)"  Get out one(1) of your backup copies of the !DOS diskette"
  440.    that  came  with  your  computer  and  a  !blank  unformatted
  441.    diskette".
  442.  
  443.    !2)" Put the !DOS diskette" into !drive A".   If your computer  is
  444.    not turned on, do that now.
  445.  
  446.    !3)" Make sure you have the system prompt !A>".
  447.  
  448.    !4)" Type !FORMAT B:/S" and press !ENTER".
  449. E        This tells DOS not only to format your blank diskette, but
  450.         also  to  put  a copy of the DOS  command  system  on  the
  451.         diskette.
  452. N
  453.    !5)" The following message will be displayed.
  454. T12E
  455. !                                                         *
  456.                          Insert new diskette for drive B:A
  457.                          and strike any key when ready
  458. N
  459.    6)" Follow those directions.
  460. E        When  the drive noise stops,  you will have a  newly  for-
  461.         matted diskette which contains a copy of DOS.
  462. N
  463. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *"
  464.  
  465. E        If  you are using a single drive system,  you are going to
  466.         have to do some diskette switching from here on  out.   Of
  467.         course, if you have had your computer for a while, you are
  468.         already  familiar  with  the procedure required  for  file
  469.         copying.  If you are really new at this,  you may want  to
  470.         open your DOS manual to the section about the COPY command.
  471. T12
  472. *
  473. Q     This will say !drive A:" if you have a single drive system.T72N
  474.                                1.4A
  475.  
  476.                                   (continued) X!SOFTWARE OVERVIEW"Y
  477.  
  478.  
  479.  
  480. !BACKUP COPIES" (continued)
  481.  
  482.  
  483.    Now,  before you put your original DOS diskette away,  let's
  484.    get a copy of !BASICA" on the newly formatted diskette.
  485.  
  486.  
  487.    !7)" Put the !DOS diskette" into !drive A" if you took it out.
  488.  
  489.    !8)"  Check  to see if you have the  system  prompt  !A>".   You
  490.    didn't lose it along the way, did you?
  491.  
  492.    !8a)" If you have a two drive system, put your newly formatted
  493.    diskette into drive B:
  494.  
  495.    !9)" Type !COPY BASICA.COM B:" and press !ENTER".
  496. E        This  tells !DOS" to make a copy of the file  !BASICA.COM"  on
  497.         the diskette in drive B:
  498. N
  499.    !9a)" If you have a single drive system, you will be prompted:
  500. E
  501. !                         Insert diskette for drive B:
  502.                          and strike any key when ready.
  503. "
  504. Q      This seems like as good a time as any to stop reminding you about one(1) and two(2) drive systems!!
  505. N
  506.    !10)" Now.   Put the !NEC 8023A UTILITIES diskette" into !drive A"
  507.    and your newly formatted diskette into !drive B".   Make  sure
  508.    you have the system prompt !A>".
  509.  
  510.    !11)" Type !COPY *.* B:" and press !ENTER".
  511. E        This  tells  !DOS"  to copy all the files that  are  on  the
  512.         !NEC 8023A  UTILITIES diskette" to the diskette in !drive  B".
  513.         (As DOS copies each file, it will display the filename  on
  514.         the screen).
  515. N
  516.    When  all  the whirring and clicking stops,  we're  finished
  517.    this part.   You now have a new diskette that contains  !DOS",
  518.    !BASICA"  and copies of all the software programs that came on
  519.    the !NEC 8023A UTILITIES" diskette.  Before we go on, put away
  520.    the  !DOS  diskette" you have been using.   We won't  need  it
  521.    anymore.
  522.  
  523.    !ALSO"  put your !NEC 8023A UTILITIES" diskette in a safe place.
  524.    You are about to find out how valuable it really is.
  525.  
  526.  
  527.                      !NOW!! LET'S BEGIN!!!"
  528.  
  529.  
  530.  
  531.  
  532.  
  533.                                1.5
  534.  
  535.                                                    X!PRINT_SCREEN"Y
  536.  
  537.  
  538.  
  539.  
  540.  
  541. PRINT_SCREEN  is  designed for one(1) purpose,  and that is  to 
  542. !transfer"  any !graphics screen" displayed !to the  printer".  (Com-
  543. uter types refer to that as a screen dump). As you may know, PC
  544. DOS has a built-in program to print text screens.   But,  until
  545. DOS  2.0  came on the scene,  IBM did not supply a  method  for
  546. dumping graphics.   And for some reason (an oversight I'm sure)
  547. the one they now supply doesn't work with an NEC 8023A.  !Well!!"
  548. We  will  just ignore that fact,  and use our own screen  dump.
  549. PRINT_SCREEN is faster anyway.
  550.  
  551.  
  552.  
  553.  
  554. !PROGRAM USE"
  555.  
  556.    It  is really very easy.   You don't have to learn  anything
  557.    new to use PRINT_SCREEN.  Just press !Shift-PrtSc" and it goes
  558.    into action.   Look familiar?   That's right,  the very same
  559.    keystrokes  that IBM designated for the printing of  a  text
  560.    screen.  So, all you have to do, is get the display just how
  561.    you  want it,  either by programming the display yourself or
  562.    by  using  another program that handles  the  generation  of
  563.    screen  graphics,  then press !Shift-PrtSc".   There is even a
  564.    way  to  access PRINT_SCREEN directly from  within  a  BASIC
  565.    program, but we'll save that for later.
  566.  
  567.  
  568.  
  569.  
  570. X!REMEMBER"Y
  571.  
  572. !   When you have PRINT_SCREEN in memory, just press Shift-PrtSc
  573.    to print any screen.   It doesn't matter whether it's a text
  574.    or graphics screen.  The software will handle it from there.
  575. "
  576.  
  577.     ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  578.  
  579.  
  580.  
  581. !INSTALLATION"
  582.  
  583.    So,  now  that you know how easy it is to use  PRINT_SCREEN,
  584.    let's get it loaded into memory so we can use it.
  585.  
  586.    There  are two(2) ways to get PRINT_SCREEN into memory.   We
  587.    will  use  the  first method now,  so we can  run  the  !DEMO
  588.    program".
  589.  
  590.  
  591.  
  592.                                2.1
  593.  
  594.                                        (continued) !XPRINT_SCREENY
  595.  
  596.  
  597.  
  598. INSTALLATION" (continued)
  599.  
  600.  
  601. XTHE FIRST WAY:Y
  602.  
  603.    !1)"  Put the !newly formatted diskette" into !drive A"  (I  think
  604.    it's time to start referring to it as !THE DEMO DISK").
  605.  
  606.    !2)"  Make sure you have the DOS prompt !A>"  (or !B>" if you want
  607.    to be different and use drive B).
  608.  
  609.    !3)" Type !PRNT-SCN" and press !ENTER".
  610. E        Remember?  That's the name of the PRINT_SCREEN file on the
  611.         diskette.  (Well, actually the file is named PRNT-SCN.!COM",
  612.         but  there is no need to type the filename extension  when
  613.         you  are  dealing with certain files directly  from  DOS).
  614.         What  you have done,  is tell (command if you like) DOS to
  615.         load the file to memory and start it running.   When  that
  616.         happens,  PRINT_SCREEN  has a special section of code that
  617.         immediately tells DOS where it is in memory and then tells
  618.         DOS  to  not remove it from memory as DOS goes  about  its
  619.         business.   Therefore,  PRINT_SCREEN  is considered to  be
  620.         RESIDENT.  It  just  sits  there in memory waiting  to  be
  621.         called on so it can do its stuff.
  622. N
  623.                           !That's it!
  624.                       Now to see it work!
  625.  
  626. DEMONSTRATION
  627.  
  628.    1)" Check !Appendix A" and make sure that the !printer  switches"
  629.    are !set correctly".
  630.  
  631.    !2)"  You  need to have !THE DEMO DISK" in !drive A" and have  !DOS"
  632.    running.
  633.  
  634.    !3)"  Make  sure your printer is  turned  on,  has  sufficient
  635.    paper, and that the !SEL"ect light is on.
  636.  
  637.    !4)" Type !BASICA SCN-DEMO" and press !ENTER".
  638. E        This loads BASICA to memory then loads the file  SCN-DEMO,
  639.         (a  simple  BASIC  program that demonstrates  the  use  of
  640.         PRINT_SCREEN) and starts it running.
  641. N
  642.    !5)"  When  you're prompted by the program,  just  !follow  the
  643.    directions"  on the screen and you will soon have a copy of a
  644.    graphics display.
  645.  
  646.       !Do you recognize the print out?  Thought you might."
  647.  
  648.  
  649.  
  650.  
  651.                                2.2
  652.  
  653.                                        (continued) !XPRINT_SCREENY
  654.  
  655.  
  656.  
  657. INSTALLATION" (continued)
  658.  
  659.    If  you  want to skip the next few pages and proceed to  the 
  660.    chapter about !PRINT_CHARACTERS",  go ahead.  This information
  661.    will  still be here for later when you want to  learn  about
  662.    using the famous and versatile !AUTOEXEC.BAT" file, !BASIC" sub-
  663.    routines and other !technical stuff".
  664.  
  665.  
  666. XTHE SECOND WAY:Y
  667.  
  668.    This will probably prove to be the method you use most often
  669.    to load !PRINT_SCREEN" to your computer's memory.  It consists
  670.    of creating a special file which will cause PRINT_SCREEN (or
  671.    any other file,  for that matter) to run automatically when-
  672.    ever  you turn on your computer.   You may have heard of it.
  673.    It's called !AUTOEXEC.BAT".   To create this special file,  do
  674.    the following.
  675.  
  676.  
  677.    !1)"   Get  out !THE DEMO DISK".   Make sure it does not have  a
  678.    write protect tape on it.   If we make a mistake it's no big
  679.    deal.  This is a backup diskette so we can always make a new
  680.    copy if we make a serious error.
  681.  
  682.    !2)"  Put !THE DEMO DISK" into !drive A" (or !B" if you prefer).
  683.  
  684.    !3)" Make sure you have the DOS prompt !A>" or !B>" if you decided
  685.    to use drive B.
  686.  
  687.    !4)"  Type !COPY CON: AUTOEXEC.BAT" and press !ENTER".
  688. E        This  tells DOS to copy whatever you type on the  keyboard
  689.         and put it into a file named AUTOEXEC.BAT.
  690. N
  691.    !5)"  Type !PRNT-SCN" and press !RETURN".
  692. E        This is the name of the file that we want DOS to load  and
  693.         run when we turn on the computer.
  694. N
  695.    !6)"  Now press the !F6 KEY" and press !ENTER".
  696. E        This  tells DOS that you are finished inputing information
  697.         to the file, so go ahead and create the file.
  698. N
  699.    !7)"  When the diskette drive stops whirring and clicking, you
  700.    will  have an !AUTOEXEC.BAT" file that will load  !PRINT_SCREEN"
  701.    to memory when you turn on the computer.
  702.  
  703.  
  704. !   You  should  probably study the section  about  AUTOEXEC.BAT
  705.    files in your DOS manual.  They are very useful and can save
  706.    you much time and effort."
  707.  
  708.  
  709.  
  710.                                2.3
  711.  
  712.                                        (continued) !XPRINT_SCREENY
  713.  
  714.  
  715.  
  716. DIRECT ACCESS FROM BASIC"
  717.  
  718.  
  719.  
  720.    Being  able to make copies of graphics screens is  something
  721.    that many programmers want to be able to control from within
  722.    their programs.   Since !BASIC",  like some other  programming
  723.    languages does its own thing with the keyboard,  you need to
  724.    get  temporary  control of the keyboard to accomplish  this.
  725.    !BASIC"  will  allow you to gain that control if you  use  the
  726.    !INKEY$" function.
  727.  
  728.  
  729.  
  730.    Now that you have control, what next?  Well, here is a short
  731.    subroutine  that  will allow you to call  !PRINT_SCREEN"  into
  732.    action by asking the user to !"press any key"".   A version of
  733.    this subroutine is used in the !DEMO" programs that  accompany
  734.    this  !NEC 8023A  UTILITIES" package.   The assembly  language
  735.    code that is loaded to memory by this subroutine, is nothing
  736.    more than one(1) software method of placing a call to !INT 5H"
  737.    which is the address of !PRINT_SCREEN".
  738.  
  739.  
  740.  
  741.    !DON'T  WORRY!"  You don't have to understand  anything  about
  742.    assembly  language to be able to use this method.   Just add
  743.    these  lines of code to your own program (you might want  to
  744.    renumber  them of course).   You !do" need to  know  something
  745.    about BASIC though.
  746.  
  747.  
  748.      *    *    *    *    *    *    *    *    *    *    *    *
  749.  
  750.  
  751.    If  you need to call PRINT_SCREEN from some other  language,
  752.    we'll leave the programming to you.   But, by using the same
  753.    or  similar machine code in your subroutine,  you should  be
  754.    able to knock it out in no time.
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.                                2.4
  770.  
  771.                                        (continued) !XPRINT_SCREENY
  772.  
  773.  
  774.  
  775. DIRECT ACCESS FROM BASIC" (continued)
  776.  
  777.  
  778.                     !XFrom BASIC to PRINT_SCREENY
  779.  
  780.    10 GOSUB 65000"        'loads the machine code into memory
  781.                          'when you start your BASIC program.
  782.                          'this line should appear at the
  783.                          'beginning of your program.
  784.  
  785.    !20 GOSUB 65100"        'calls the machine language
  786.                          'interface to PRINT_SCREEN
  787.                          'this line should appear wherever
  788.                          'you wish to call PRINT_SCREEN
  789.                          'appropriately numbered, of course
  790.  
  791.    !50000 END"             'be sure to stop program execution
  792.                          'before it gets to the subroutines
  793.  
  794.    !65000 DIM PRTSC%(3)"   'define the variable for code storage
  795.    !65010 FOR X=0 TO 3"    'load the code into the variable
  796.    !65020 READ PRTSC%(X)
  797.    65030 NEXT X
  798.    65040 RETURN"          'the code is loaded now, so return
  799.    !65050 DATA &H8955,&HCDE5,&H5D05,&H00CB:"   'this is the code
  800.  
  801.    !65100 LOCATE 25,4"     'place and display the prompt
  802.    !65110 PRINT "Press any key to Print-Screen.""   'the prompt
  803.    !65120 A$=INKEY$: IF A$="" THEN 65120" 'wait for a keystroke
  804.    !65130 LOCATE 25,4"     'display blanks to cover the prompt
  805.    !65140 PRINT STRING$(30,32);"     'a string of blanks
  806.    !65150 LOCATE 1,1"      'this keeps the screen from shifting
  807.    !65160 DEF SEG: SUBRT%=VARPTR(PRTSC%(0))"   'points to code
  808.    !65170 CALL SUBRT%"     'places a call to our code
  809.    !65180 RETURN"          'done with PRINT_SCREEN, so return
  810.  
  811.       *    *    *    *    *    *    *    *    *    *    *
  812.  
  813.    Here is the  assembly language  which tells what the  machine
  814.    code in our string is doing.  Just in case you're interested!
  815.  
  816.  
  817.      55    !PUSH BP"       ;save the pointer to our location
  818.      89E5  !MOV  BP,SP"    ;replace it with the stack pointer
  819.      CD05  !INT  05H"      ;now call PRINT_SCREEN
  820.      5D    !POP  BP"       ;recover our original memory location
  821.      CB    !RET  FAR"      ;we're done, so we can return now
  822.  
  823.                !NOT VERY COMPLICATED, NOW WAS IT?"
  824.  
  825.  
  826.  
  827.  
  828.                                2.5
  829.  
  830.                                        (continued) !XPRINT_SCREENY
  831.  
  832.  
  833.  
  834. TECHNICAL INFORMATION
  835.  
  836.  
  837.  
  838. How it works"
  839.  
  840.  
  841.    When  PRINT_SCREEN  is called into  action,  it  checks  the
  842.    current  display  information to see if the screen is  in  a
  843.    graphics mode.  If not, it passes control to the text-screen
  844.    print which is stored in the ROM memory of the computer.  If
  845.    a  graphics  screen is being displayed,  the screen mode  is
  846.    stored  for later reference and PRINT_SCREEN begins  reading
  847.    dots from the screen and sending information to the printer.
  848.  
  849.  
  850.  
  851. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *"
  852.  
  853.  
  854.    !1)" Use of the !Ctrl-PrtSc" keystoke is not effected by  having
  855.    PRINT_SCREEN loaded to memory.
  856.  
  857.  
  858.    !2)"  If you want to load !PRINT_SCREEN" and !PRINT_CHARACTERS" to
  859.    memory at the same time,  (and most do),  go ahead.  Just be
  860.    sure that !PRINT_SCREEN" gets loaded first.   Otherwise graph-
  861.    ics screen prints will be considerably slower.
  862.  
  863.  
  864.    !3)"  You might notice that a perfect circle displayed on  the
  865.    screen is very slightly squished on the print out.  (It's so
  866.    close  you'll need a ruler to tell).   If you are a  perfec-
  867.    tionist  and need precise circles on your  hard  copy,  just
  868.    !change  the  aspect" of your circles to !43/48" instead of  the
  869.    default  value which BASIC assigns of 5/6  (40/48).   That's
  870.    !43/96 for high resolution" graphics.
  871.  
  872.  
  873.    !4)" For the !NEC 8023A UTILITIES" to work properly,  you should
  874.    make  sure  that your printer is hooked to the  computer  as
  875.    !PRINTER 1".
  876.  
  877.  
  878.    !5)" For those of you who want to make !transparencies" from the
  879.    hard copy produced by !PRINT_SCREEN",  it's a good idea to set
  880.    the  printer to !BOLD PRINT" so you will get a hard copy  that
  881.    will give the best results on your copy machine.   Note that
  882.    this does slow down the printing process though.
  883.  
  884.  
  885.  
  886.  
  887.                                2.6
  888.  
  889.                                                !XPRINT_CHARACTERSY"
  890.  
  891.  
  892.  
  893. PRINT_CHARACTERS  adds  two(2) pretty useful features  to  your
  894. NEC 8023A printer.  It will not only enable you to !print all of
  895. the  characters above  ASCII 126",  but also adds  !italic  char-
  896. acters! to your library of print styles.   So, now the technical
  897. types  will  be able to print all those funny little  squiggles
  898. they use,  (what are all those things anyway?),  and we can all
  899. add  a  little variety to the things we print on the  versatile
  900. !NEC 8023A" by using italics.
  901.  
  902.  
  903. !PROGRAM USE"
  904.  
  905.    And just how tough is all this anyway?  Not very.
  906.  
  907.    !ITALIC CHARACTERS"
  908.    Using the italic characters is simplicity itself.   When you
  909.    want !to start italics",  just !send the printer a CHR$(18)" and
  910.    all  the normal letters (those are the ones we use to  spell
  911.    words  in English) will be printed in italics.   And !to stop
  912.    italic"s  and  get  back  to  (normal?),  just  !send  another
  913.    CHR$(18)".
  914.  
  915.    !THE EXTENDED CHARACTER SET"
  916.    This is at least as easy as italics.  To print the character
  917.    you want from the  Extended Set,  just !send its code to  the
  918.    printer".   That's it!   You !do" have to know what the code of
  919.    the character is, of course, but we have included a chart of
  920.    these  codes in  !Appendix D"  of this manual  just  for  your
  921.    convenience.
  922.  
  923.  
  924.  
  925. !XREMEMBERY
  926.  
  927.    When you have PRINT_CHARACTERS loaded to memory:
  928.  
  929.    - To start or stop italics, just send the printer CHR$(18).
  930.  
  931.    - To print a character from the Extended Set, just send that
  932.      character's code to the printer.
  933.  
  934.  
  935.  
  936.    You will notice that the ASCII codes have been refered to so
  937.    far  as !CHR$(xxx)",  but probably  are aware that these  same
  938.    codes  are  often alluded to by their  !HEX"idecimal  numbers.
  939.    It's  nothing to worry about.   These are just  two(2)  dif-
  940.    ferent counting systems which refer to the same number.  The
  941.    chart  in  !Appendix D  has both listed" to make it easier for
  942.    you until you feel at home with either system.
  943.  
  944.  
  945.  
  946.                                3.1
  947.  
  948.                                    (continued) !XPRINT_CHARACTERSY
  949.  
  950.  
  951.  
  952. INSTALLATION"
  953.  
  954.  
  955.    As with PRINT_SCREEN, there are two(2) methods we can use to
  956.    load PRINT_CHARACRERS to memory.  And, as before we will use
  957.    method  one(1) to get it loaded now so we can run  the  !DEMO
  958.    program".
  959.  
  960.    !You're  going to need PRINT_SCREEN" loaded to memory  to  run
  961.    the next demonstration program.   So, if you have turned off
  962.    the computer (or rebooted) since it was installed,  you will
  963.    have  to re-install it before proceeding by typing  !PRNT-SCN"
  964.    and pressing !ENTER" when !THE DEMO DISK"  is in !drive A".
  965.  
  966.  
  967. XTHE FIRST WAYY
  968.  
  969.  
  970.    !1)" Put !THE DEMO DISK" (you remember, the one that has all our
  971.    programs on it) into !drive A".
  972.  
  973.    !2)" Make sure you have the correct DOS prompt, !A>".
  974.  
  975.    !3)" Type !PRNT-CHR" and press !ENTER".
  976. E        This tells DOS to load the file PRNT-CHR (no !COM" extention
  977.         needed,  thank  you) and start it running.   At this point
  978.         our  program PRNT-CHR.COM tells DOS where it is in  memory
  979.         and to please leave it there do do its thing.
  980. N
  981.                        !Now for the fun!
  982.  
  983. DEMONSTRATION
  984.  
  985.  
  986.    1)" Have you already !set the printer switches"?
  987.  
  988.    !2)" You need !THE DEMO DISK" in !drive A" and have !DOS" running.
  989.  
  990.    !3)" Again,  make sure your NEC 8023A is turned on, has suffi-
  991.    cient paper, and that the !SEL"ect light is on.  !It's always a
  992.    good idea to make these checks before printing anything.
  993.  
  994.    4)" Type !BASICA CHR-DEMO" and press !ENTER".
  995. E        This  causes  DOS  to load BASICA then load  the  CHR-DEMO
  996.         file,  (a  BASIC  program which  will  demonstrate  PRINT_
  997.         CHARACTERS), and then start it running.
  998. N
  999.    !5)" When prompted by the program, just !follow the directions".
  1000.  
  1001.  
  1002.    !Now you have hard evidence of PRINT_CHARACTERS' capabilities!"
  1003.  
  1004.  
  1005.                                3.2
  1006.  
  1007.                                    (continued) !XPRINT_CHARACTERSY
  1008.  
  1009.  
  1010.  
  1011. INSTALLATION" (continued)
  1012.  
  1013.    If  you  want to pass over this next part because  you  just
  1014.    can't wait to check out !PRINTER_SET", this is a good place to
  1015.    take a break from PRINT_CHARACTERS.   See you later!  But if
  1016.    you decide to continue, here is the other way to load PRINT_
  1017.    CHARACTERS to memory.
  1018.  
  1019.  
  1020. XTHE SECOND WAYY
  1021.  
  1022.  
  1023.    It's  awful to keep repeating yourself!!   Just this  one(1)
  1024.    last  time.   !Using an AUTOEXEC.BAT file is the best way  to
  1025.    load programs like PRINT_SCREEN and PRINT_CHARACTERS to your
  1026.    computer's memory."  After all.  Computers are great at doing
  1027.    your work for you.  If you tell them what to do, they do it.
  1028.    And, an  !AUTOEXEC.BAT" file  can go that one step better.  It
  1029.    will  tell  the computer what to do for you.   Just put  the
  1030.    information in the file and let the file take it from there.
  1031.   
  1032.                          !Let's do it!"
  1033.  
  1034.  
  1035.    !1)" Do you still have !THE DEMO DISK" in !drive A"?  Good.
  1036.  
  1037.    !2)" And we also have the DOS prompt !A>" I bet.
  1038.  
  1039.    !3)" Now. Type !COPY CON: AUTOEXEC.BAT" and press !ENTER".
  1040. E        As  you know by now,  this tells DOS to copy our  keyboard
  1041.         input  and  put it into a file called  AUTOEXEC.BAT.   But
  1042.         what  about  the AUTOEXEC.BAT file we created  for  PRINT_
  1043.         SCREEN?   Won't it get written over by this one?  Yes.  It
  1044.         will.  But we'll take care or that.  Not to worry!!
  1045. N
  1046.    !4)" Type !PRNT-SCN" and press !ENTER".
  1047.  
  1048.    !5)" Type !PRNT-CHR" and press !ENTER".
  1049. E        What   you  are  doing  is  telling  DOS  to  first   load
  1050.         PRNT-SCN.COM and then load PRNT-CHR.COM.   Remember?  They
  1051.         need  to be loaded in this order for graphics screen  dis-
  1052.         plays to print faster.   (If you think you will never want
  1053.         to  print  a graphics screen or never need to use  italics
  1054.         and  chacters from the Extended Set,  just leave  out  the
  1055.         appropriate line.   Most of us need both of these programs
  1056.         every time we use our computers).
  1057. N
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.                                3.3
  1065.  
  1066.                                    (continued) !XPRINT_CHARACTERSY
  1067.  
  1068.  
  1069.  
  1070. INSTALLATION" (continued)
  1071.  
  1072.  
  1073.    !6)"  Since we are finished putting everything we need in  the
  1074.    file, press the !F6 KEY" and then press !ENTER".
  1075.  
  1076.    !7)"  When the diskette drive noise stops,  you've got a  file
  1077.    which  will load PRINT_SCREEN and/or PRINT_CHARACTERS to the
  1078.    computer's memory whenever you turn it on.
  1079.  
  1080.    !8)"  To  use this file,  just !make a copy" of it,  along  !with
  1081.    PRNT_SCN.COM" and !PRNT_CHR.COM"  on the diskette that  you use
  1082.    when starting your system.    A !BOOT DISK"ette.
  1083.  
  1084.  
  1085. !XREMEMBERY
  1086.  
  1087.    If  you ever reboot (restart) your computer by pressing  the
  1088.    Ctrl-Alt-Del keystroke combination,   you need to have  your
  1089.    BOOT DISK in drive A."
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  1095.  
  1096.  
  1097.  
  1098.    !TECHNICAL INFORMATION
  1099.  
  1100.  
  1101.  
  1102. How it works"
  1103.  
  1104.  
  1105.    Anytime  information is sent to the printer,  it  is  inter-
  1106.    cepted and checked out by PRINT_CHARACTERS.  If that byte of
  1107.    information is not being sent to your NEC 8023A (printer 1),
  1108.    it's just ignored and sent on its merry way.  But, if on the
  1109.    other  hand it is going to printer 1,  each byte of  inform-
  1110.    ation is thoroughly tested.  Should it be italics?  Or maybe
  1111.    it's some graphics information.   A control code?  Ah! Some-
  1112.    thing from the Extended Set.  Whatever, PRINT_CHARACTERS can
  1113.    handle  it and takes appropriate action in each case.   This
  1114.    program  even makes sure that the Line  Graphics  Characters
  1115.    have connecting links for between the lines.
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.                                3.4
  1124.  
  1125.                                    (continued) !XPRINT_CHARACTERSY
  1126.  
  1127.  
  1128.  
  1129.    TECHNICAL INFORMATION" (continued)
  1130.  
  1131.  
  1132. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *
  1133.  
  1134.    1)"  PRINT_CHARACTERS  uses  !connecting links"  for  the  !line
  1135.    graphics  characters" so that there will not be blank  spaces
  1136.    between  the  horizontal  lines of print.   To do  this  the
  1137.    assumption must be made that the line spacing is set to  the
  1138.    standard 1/6".   Therefore, if you have done any printing of
  1139.    line graphics characters,  the !line spacing will be reset to
  1140.    1/6"" after the first line graphics character.
  1141.  
  1142.    !2)"  If  you want the best possible hard copy  when  printing
  1143.    line   graphics,   !set  your  NEC 8023A  for  unidirectional
  1144.    printing".
  1145.  
  1146.    !3)  No  special interface" is needed to use  PRINT_CHARACTERS
  1147.    !with high level computer languages" (BASIC,  PASCAL, FORTRAN,
  1148.    ETC) since it is an assembly language program that  operates
  1149.    below the level of DOS.
  1150.  
  1151.    !4)"  No  method that is normally used to send information  to
  1152.    the printer needs to be changed for PRINT_CHARACTERS to come
  1153.    into play, because it will intercept all calls to INT 17H.
  1154.  
  1155.    !5)"  Of  course if you want to !bypass" it,  you can do  so  !by
  1156.    using the OUT command" to the printer adapter address.
  1157.  
  1158.    !6)" If you are an assembly language programmer,  to make sure
  1159.    you will access PRINT_CHARACTERS with your programming,  !use
  1160.    INT  17H"  or  one of the DOS level INTerrupts to  send  your
  1161.    bytes of information to the printer.
  1162.  
  1163.    !7)"  All of the characters added to your NEC 8023A with  this
  1164.    procedure will print in any of the character pitches.  BUT!!
  1165.    If you try to print the !line graphics characters while using"
  1166.    the !proportional pitch",  you !will get extremely strange  re-
  1167.    sults" since the characters printed in proportional pitch are
  1168.    not usually all the same dot-column width.
  1169.  
  1170.    !8)" You can !use" the !Shift-PrtSc" keystroke to get a copy of  a
  1171.    text screen which contains characters above ASCII 126.
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.                                3.5
  1183.  
  1184.                                                     !XPRINTER_SETY"
  1185.  
  1186.  
  1187.  
  1188. PRINTER_SET is a program that allows you to easily set the var-
  1189. ious  parameters of your NEC 8023A.   That is,  you can !set" the
  1190. !Character  Pitch,  Left Margin",  the !Line  Spacing,  Horizontal
  1191. Tabs, Page Length, Form Length", and of course, !Vertical Tabs".
  1192.  
  1193.  
  1194. !PROGRAM USE"
  1195.  
  1196.    PRINTER_SET is entirely menu driven,  which is to say,  that
  1197.    instructions  are included each step of the way.   Now  this
  1198.    doesn't  mean that you  cannot  bypass the defining  of set-
  1199.    tings  for  each possible parameter just to set  the  one(1)
  1200.    that  you do want to set.   But,  we'll save that  part  for
  1201.    later.   Once  you start PRINTER_SET, you may !set" the !param-
  1202.    eters  with a minimum of keystrokes".   Some parameters  only
  1203.    require  one(1) keystroke.   And so you will be able to  re-
  1204.    member what settings you have made, !PRINTER_SET provides" you
  1205.    with !a print-out of your choices.
  1206.  
  1207.  
  1208. SETTING PRINTER PARAMETERS"
  1209.  
  1210.    Before actually doing a !hands-on demonstration",  let's learn
  1211.    a  little about what it takes  when not using PRINTER_SET to
  1212.    establish several of these parameters on the NEC 8023A.
  1213.  
  1214.    Even  though you may not have thought of it in exactly  this
  1215.    way  before,  your  NEC 8023A is an intelligent  printer,  a
  1216.    computer even.   In fact,  it's at least as smart as many of
  1217.    the computers to which it is hooked.   It has its own memory
  1218.    and  even a built in operating system so that it can  under-
  1219.    stand what you (your computer) tell it to do.
  1220.  
  1221.    The  NEC 8023A is programmed to recognize specific  informa-
  1222.    tion and take special actions when you send it these !COMMAND
  1223.    SEQUENCES"  from your computer.   There is a complete !list of
  1224.    command sequences in Appendix C",  but for now,  we will con-
  1225.    cern  ourselves  only  with those that  are  used  with  the
  1226.    PRINTER_SET program.
  1227.  
  1228. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *"
  1229.  
  1230.    Most of the examples will be given in BASIC because that  is
  1231.    generally   everyone's first language.   Whenever we need to
  1232.    send  the ESCape code to the printer,  we will use the  !CHR$
  1233.    function" which,  as stated in your BASIC manual !"converts an
  1234.    ASCII code to its character equivalent"".
  1235.  
  1236.         So,        !ESC"         becomes         !CHR$(27)"
  1237.         and is received by the printer as   !1B HEX"adecimal
  1238.  
  1239.  
  1240.  
  1241.                                4.1
  1242.  
  1243.                                            (continued) !XPRINTER_SETY
  1244.  
  1245.  
  1246.  
  1247. SETTING PRINTER PARAMETERS" (continued)
  1248.  
  1249.  
  1250.  
  1251.   !XCHARACTER PITCHY"
  1252.  
  1253.    The !pitch" is the name for the number of !characters per  inch"
  1254.    which  appears  in a line of print produced by the  printer.
  1255.    There are four(4) available on the NEC 8023A and they are:
  1256.  
  1257.        !PICA   -   ELITE   -   PROPORTIONAL   -   COMPRESSEDT36
  1258.  *T12
  1259.    The  character pitch is set by sending the printer an ESCapeA
  1260.    code,  plus the ASCII code for a specific letter".   That  is
  1261.    the !control sequence" that the NEC 8023A recognizes  as,  !SET
  1262.    THE CHARACTER PITCH". The letter (and its decimal code) which
  1263.    corresponds to each pitch is as follows.T36
  1264.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T12
  1265.    |                                                          |A
  1266.    |!PROPORTIONAL  -  ESC + 80  -  P" for proportional          |
  1267.    |!PICA          -  ESC + 78  -  N" for normal                |
  1268.    |!ELITE         -  ESC + 69  -  E" for elite                 |
  1269.    |!COMPRESSED    -  ESC + 81  -  Q" for quintessential (what?)|
  1270.    |                                                          |T12
  1271.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T36
  1272.    So,  if  you  wanted to set the pitch to XEliteY  while  usingA
  1273.    BASIC, you would use:
  1274.  
  1275.  
  1276.          !LPRINT CHR$(27)+CHR$(69) or LPRINT CHR$(27)+"E""
  1277.  
  1278.    What the printer receives, in HEXadecimal is  --  !1BH 45H"
  1279.                                                      ESC  E
  1280.  
  1281. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *"
  1282.  
  1283.    When you first turn on your printer,  the !Character Pitch is
  1284.    determined by" the setting of !DIP switch 2-5".   The choice at
  1285.    power on is between Pica and Proportional.   Unless you have
  1286.    very specific printer needs, it is probably best to have the
  1287.    the  switch set to give you Pica Character Pitch and if  you
  1288.    need to !make any changes", do it !with control sequences".
  1289.  
  1290.  
  1291.  
  1292.  
  1293. QL008T36
  1294.     *T12
  1295.        As you may know, any information going to the printer is sent in BINary.  Your computer will take care ofA
  1296.        the  translation  (except on the assembly language level) from whatever numbering system you  are  using.
  1297.        So, from BASIC for instance, to send the letter A to the printer, you may use either LPRINT "A" or LPRINT
  1298.        CHR$(65).  See APPENDIX E.
  1299. NL008
  1300.                                4.2
  1301.  
  1302.                                         (continued) !XPRINTER_SETY
  1303.  
  1304.  
  1305.  
  1306. SETTING PRINTER PARAMETERS" (continued)
  1307.  
  1308.  
  1309.   !XLINE SPACINGY"
  1310.  
  1311.    The  !Line Spacing" (line feed pitch) refers to the number  of
  1312.    !lines per inch", in other words, the distance from the top of
  1313.    one line to the top of the next line.   When you turn on the
  1314.    printer,  the  Line Spacing will be set to 1/6" which  gives
  1315.    you  6 lines per inch  (66 lines for the standard 11" page).
  1316.    Now,  this is a good setting,  and for most uses,  the  most
  1317.    practical.   But every now and then, it's nice to be able to
  1318.    change  to a different setting,  such as when doing graphics
  1319.    printing.   Here  are  the !control sequences"  you  need  !for
  1320.    changing" the !Line Spacing".T36
  1321.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T12
  1322.    |                                                          |A
  1323.    |            !1/6" SPACING  -  ESC + 65"                     |
  1324.    |            !1/8" SPACING  -  ESC + 66"                     |
  1325.    |            !CUSTOMIZED    -  ESC + 84  +  [XX]"            |
  1326.    |                                                          |T12
  1327.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T36
  1328.    [!XX"] is a !two(2) digit number" which determines for how  manyA
  1329.    144ths of an inch the Line Spacing will be set.
  1330.  
  1331.  
  1332.    To set the Line Spacing to 1/8" from BASIC, send:
  1333.  
  1334.          !PRINT CHR$(27)+CHR$(66)or PRINT CHR$(27)+"B""
  1335.  
  1336.    and the printer will receive in HEX  --  !1BH 42H"
  1337.                                             ESC  B
  1338.  
  1339.    Or, to set the Line Spacing to 16/144", which by the way, is
  1340.    what  you  want for full page graphics so there will  be  no
  1341.    blanks between the lines, use:
  1342.  
  1343.             !LPRINT CHR$(27)+CHR$(84)+CHR$(49)+CHR$(54)"
  1344.                                 or
  1345.                      !LPRINT CHR$(27)+"T"+"16""
  1346.                              or even
  1347.                       !LPRINT CHR$(27)+"T16""
  1348.  
  1349.    What the printer receives in any case, is -- !1BH 54H 31H 36H"
  1350.                                                 ESC  T   1   6
  1351.  
  1352. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *"
  1353.  
  1354.    The Line Spacing does not change until you send the  printer
  1355.    another control sequence which gives a new setting.
  1356.  
  1357.  
  1358.  
  1359.                                4.3
  1360.  
  1361.                                         (continued) !XPRINTER_SETY
  1362.  
  1363.  
  1364.  
  1365. SETTING PRINTER PARAMETERS" (continued)
  1366.  
  1367.    
  1368.   !XHORIZONTAL TABSY"
  1369.  
  1370.    The Horizontal Tab on the NEC 8023A is similar to a tab on a
  1371.    typewriter.   The  difference is,  the tab stops on that old
  1372.    typewriter were set with levers, but on the NEC 8023A we use
  1373.    !control sequences" to set the positions.   Here are the codes
  1374.    you will need !for using and adjusting the Horizontal Tabs".T36
  1375.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T12
  1376.    |                                                          |A
  1377.    |       !HORIZONTAL TAB  -  CHR$(09)"                        |
  1378.    |   !SET SPECIFIED TABS  -  ESC + 40 + [XXX],nnn,nnn,[XXX]." |
  1379.    | !CLEAR SPECIFIED TABS  -  ESC + 41 + [XXX],nnn,nnn,[XXX]." |
  1380.    |       !CLEAR ALL TABS  -  ESC + 48"                        |
  1381.    |                                                          |T12
  1382.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T36
  1383.    [!XXX"] is a !three(3) digit number" which represents the numberA
  1384.    of character positions from position zero(0).   So, a tab in
  1385.    !the  10th  position  would  be  010.   nnn"  represents  more
  1386.    !three(3) digit numbers" up to a total of thirty-two(32).
  1387.  
  1388.    Notice the !commas" and the !period" at the end.   Those are  so
  1389.    important  that the control sequences will not work  without
  1390.    having them included.
  1391.  
  1392.  
  1393.    Here is the code to set Horizontal Tabs at positions 10, 20,
  1394.    and 62 from BASIC.
  1395.  
  1396.           !LPRINT CHR$(27)+CHR$(40)+"010,"+"020,"+"062.""
  1397.                                 or
  1398.                  !LPRINT CHR$(27)+"(010,020,062.""
  1399.  
  1400.    either way the printer receives:
  1401.  
  1402.      !1BH 28H 30H 31H 30H 2CH 30H 32H 30H 2CH 30H 36H 32H 2EH"
  1403.      ESC  (   0   1   0   ,   0   2   0   ,   0   6   2   .
  1404.  
  1405.    Now let's clear the Horizontal Tabs at positions 10 and 20.
  1406.  
  1407.               !LPRINT CHR$(27)+CHR$(41)+"010,"+"020.""
  1408.                                 or
  1409.                    !LPRINT CHR$(27)+")010,020.""
  1410.  
  1411.    and the printer receives in HEX:
  1412.  
  1413.              !1BH 29H 30H 31H 30H 2CH 30H 32H 30H 2EH"
  1414.              ESC  )   0   1   0   ,   0   2   0   .
  1415.  
  1416.  
  1417.  
  1418.                                4.4
  1419.  
  1420.                                         (continued) !XPRINTER_SETY
  1421.  
  1422.  
  1423.  
  1424. SETTING PRINTER PARAMETERS" (continued)
  1425.  
  1426.  
  1427.    Sometimes you want to clear all the Horizontal Tabs at once.
  1428.    This may be done with the following code from BASIC.
  1429.  
  1430.  
  1431.          !LPRINT CHR$(27)+CHR$(48) or LPRINT CHR$(27) "0""
  1432.  
  1433.    
  1434.    the printer receives  --  !1BH 30H"
  1435.                              ESC  0
  1436.  
  1437. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *
  1438.  
  1439.    1)" You must !use" the !commas to separate each position."  With-
  1440.    out  them these control sequences will not work.   And !don't
  1441.    forget the period" at the end.
  1442.  
  1443.    !2) The actual physical position of each Tab  is entirely de-
  1444.    pendent  on the Character Pitch which is in effect when  the
  1445.    tabs  are set."   So,  if you set tabs in positions 10 and 20
  1446.    while  the pitch is elite,  the physical positions  will  be
  1447.    different  from  those which result from setting those  same
  1448.    tabs while the Pitch is Compressed.
  1449.  
  1450.    !3)" It should also be !remember"ed that !if you set the tabs and
  1451.    then  change  to a different Character Pitch,  the  physical
  1452.    positions of the tabs do not change.
  1453.  
  1454.    4)  When  you set new tab positions,  all those  which  were
  1455.    previously set are cleared.
  1456.  
  1457.    5)  If you make an error" in sending the control sequence  to
  1458.    set Horizontal Tabs,  !all existing tabs are cleared.
  1459.  
  1460.    6)"  Setting tabs while the Character Pitch is  Proportional,
  1461.    results  in the same physical positions being set as if  the
  1462.    Pitch had been set to Pica.
  1463.  
  1464.    !7)" Upon the reception of the Tab CHR$(09) the printer  moves
  1465.    to the next preset tab position.
  1466.  
  1467.    !8)  If no Horizontal Tabs are set" or the print head is at or
  1468.    to  the  right  of the last set position,  !the TAB  code  is
  1469.    ignored" by the printer.
  1470.  
  1471.    !9)" You are able to !set up to thirty-two(32) Horizontal  Tabs"
  1472.    at one(1) time.
  1473.  
  1474.  
  1475.  
  1476.  
  1477.                                4.5
  1478.  
  1479.                                         (continued) !XPRINTER_SETY
  1480.  
  1481.  
  1482.  
  1483. SETTING PRINTER PARAMETERS" (continued)
  1484.  
  1485.  
  1486.   !XLEFT MARGINY"
  1487.  
  1488.    Setting  the  !Left Margin determines how close to  the  left
  1489.    side   of the page you will be able to print".   The  !control
  1490.    sequence" needed !to set the Left Margin" is:T36
  1491.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T12
  1492.    |                                                          |A
  1493.    |           !SET LEFT MARGIN  -  ESC + 76 + [XXX]"           |
  1494.    |                                                          |T12
  1495.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T36
  1496.    [!XXX"] is a !three(3) digit number" which represents the numberA
  1497.    of the column in which you wish !to set the Left Margin".
  1498.  
  1499.  
  1500.    If for instance we want to set the Margin in the 7th column,
  1501.    from BASIC we would use:
  1502.  
  1503.      !LPRINT CHR$(27)+CHR$(76)+"007" or LPRINT CHR$(27)+"L007""
  1504.  
  1505.    the printer receives  --  !1BH 4CH 30H 30H 37H"
  1506.                              ESC  L   0   0   7
  1507.  
  1508.  
  1509.  
  1510.  
  1511. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *
  1512.  
  1513.    1)"  When  you  turn on your NEC 8023A,  the Left  Margin  is
  1514.    always to set position zero(0) the !print head home position.
  1515.  
  1516.    2)" As with the Horizontal Tabs,  the Left Margin is set in a
  1517.    !physical  position" which !is dependent on the current" setting
  1518.    of the Character Pitch.
  1519.  
  1520.    !3)"  Again,  the !physical position remains constant" until you
  1521.    send the control sequence to set a new position,  regardless
  1522.    of changes in the Character Pitch.
  1523.  
  1524.    !4)"  Setting the Left Margin while the Pitch is  Proportional
  1525.    will  give  the same physical location as if the  Pitch  had
  1526.    been set to Pica.
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.                                4.6
  1537.  
  1538.                                         (continued) !XPRINTER_SETY
  1539.  
  1540.  
  1541.  
  1542. SETTING PRINTER PARAMETERS" (continued)
  1543.  
  1544.  
  1545.   !XFORMS (Vertical Format)Y"
  1546.  
  1547.    Almost  everyone knows about forms.   We use them for every-
  1548.    thing imaginable;  to order, purchase, collect, and worst of
  1549.    all,  to pay taxes!   But, what is a !Vertical Format"?  Well,
  1550.    it !is the  name" (definition,  if you please)  !given  to  the
  1551.    information  kept  in  printer memory  that  determines  the
  1552.    placement for Vetical Tabs (VT),  page length,  and the last
  1553.    printed line of your forms."
  1554.    
  1555.  
  1556.    And  how do you tell the NEC 8023A where you want to put the
  1557.    Vertical Tabs and bottom of form (BOF) locator?   If  you're
  1558.    like most people,  you will use PRINTER_SET.  But, since one
  1559.    is  only able to set thirteen(13) Vertical Tabs per  channel
  1560.    when using PRINTER_SET, some may want to directly handle the
  1561.    Vertical Formating.   So, for those people, and also for the
  1562.    rest of us who can always use more knowledge, here's how.
  1563.  
  1564.  
  1565.  
  1566. !Background Information
  1567.  
  1568.  
  1569.    When  you first turn on your NEC 8023A,  there is a Vertical 
  1570.    Tab (VT) set at line 7 and every 6th line after that."   That
  1571.    means that you have available a VT at every inch mark as you
  1572.    proceed  down the page  (remember the power-on Line  Spacing
  1573.    is  1/6"  or 6 lines per inch).   These are all  in  channel
  1574.    two(2)  and  may  be accessed by simply using  the  VT  code
  1575.    CHR$(11).
  1576.  
  1577.  
  1578.    !The bottom of form (BOF),  is preset at either line 66 or 72
  1579.    depending on how you have DIP switch 1-4 set."  In this case,
  1580.    the  Page Length  and Form Length are set to the same  line,
  1581.    but we'll get to that a litte later.
  1582.  
  1583.  
  1584.    Look  at  !XFigure 1Y"  on page 4.8  to see an  example  of  the
  1585.    !Vertical  Format  that  exists when you  power-on  with  DIP
  1586.    switch 1-4 set for a 66 line form".
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.                                4.7
  1596.  
  1597.                                         (continued) !XPRINTER_SETY
  1598.  
  1599.  
  1600.  
  1601. SETTING PRINTER PARAMETERS" (continued)
  1602.  
  1603.  X                                    (edge of paper)          Y
  1604.   1  | !TOF" - (1st line)                                  |
  1605. | 2  |                                                   |    |
  1606.   3  |                                                   |
  1607. | 4  |                                                   |    |
  1608.   5  |                                                   |
  1609. | 6  |                                                   |    |
  1610.   7  | !VT" - (vertical tab)                               |
  1611. | 8  |                                                   |    |
  1612.   9  |                                                   |
  1613. | 10 |                                                   |    |
  1614.   11 |                                                   |
  1615. | 12 |                                                   |    |
  1616.   13 | !VT"                                                |
  1617. | 14 |                                                   |    |
  1618.   15 |                                                   |
  1619. | 16 |                                                   |    |
  1620.   17 |                                                   |
  1621. | 18 |                                                   |    |
  1622.   19 | !VT"                                                |
  1623. | 20 |                                                   |    |
  1624.   21 |                                                   |
  1625. | 22 |                                                   |    |
  1626.   23 |                                                   |
  1627. | 24 |                        .    .                     |    |
  1628.   25 | !VT"                .              .                |
  1629. | 26.|              .                        .           |  . |
  1630.   54 |    .    .                                  .    . |   
  1631. | 55 | !VT"                                                |    |
  1632.   56 |                                                   |
  1633. | 57 |                                                   |    |
  1634.   58 |                                                   |
  1635. | 59 |                                                   |    |
  1636.   60 |                                                   |
  1637. | 61 | !VT"                                                |    |
  1638.   62 |                                                   |
  1639. | 63 |                                                   |    |
  1640.   64 |                                                   |
  1641. | 65 |                                                   |    |
  1642.  X 66 | !BOF" - last line (bottom of 1st form)              |    Y
  1643. | 67 | !TOF" - (1st line of 2nd page)                      |    |
  1644.   68 |                                                   |
  1645. | 69 |                                                   |    |
  1646.   70 |                                                   |
  1647. | 71 |                                                   |    |
  1648.   72 |                                                   |
  1649. | 73 | !VT" - (line 7 of 2nd page)                         |    |
  1650.  
  1651.                            !XFIGURE 1Y"
  1652.  
  1653.  
  1654.                                4.8
  1655.  
  1656.                                         (continued) !XPRINTER_SETY
  1657.  
  1658.  
  1659.  
  1660. SETTING PRINTER PARAMETERS" (continued)
  1661.  
  1662.    Notice  that in our example the TOF coincides with the first
  1663.    line of the page.   This is not always true.   Usually  when
  1664.    you  look at the hard copy produced by your  NEC 8023A,  the
  1665.    first line of print is on line six(6).   There is an  expla-
  1666.    nation.  When you take hard copy from the printer,  where is
  1667.    the top of the next page?   Right!  At the edge of the paper
  1668.    cutter.   !Even  if you know where the actual top of the page
  1669.    is located, the printer does not.
  1670.  
  1671.    The  printer will always think that TOF is the leading  edge
  1672.    of a page", and it is up to us to make sure that it is.  It's
  1673.    not difficult to do, fortunately.
  1674.  
  1675.    !To  set your NEC 8023A to print on the first line" of a page,
  1676.    (or form),  make sure the leading edge of the page is at the
  1677.    edge of the paper cutter, and then send five(5) reverse line
  1678.    feeds to get into proper position.
  1679.  
  1680.  
  1681.    There  are  two(2)  !special ASCII codes" that are  !used  when
  1682.    setting the Vertical Format", and they are:T36
  1683.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T12
  1684.    |                                                          |A
  1685.    |       !GROUP SEPARATOR (GS)  -  CHR$(29)  -  1D HEX"       |
  1686.    |      !RECORD SEPARATOR (RS)  -  CHR$(30)  -  1E HEX"       |
  1687.    |                                                          |T12
  1688.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T36
  1689.    The three(3) steps necessary !to set the Vertical Format" are:A
  1690.  
  1691.    !1) Send" the GROUP SEPARATOR code, !CHR$(29)."
  1692. E        This  tells the printer that,  until further  notice,  all
  1693.         information is to be used to set the Vertical Format.
  1694. N
  1695.    !2)  Send  two(2) bytes of information for each line"  of  the
  1696.    form you are defining.
  1697.  
  1698.    !3) Send" the RECORD SEPARATOR code, !CHR$(30)".
  1699. E        This  tells  the  printer that you  are  finished  sending
  1700.         information  about the Vertical Format,  so go ahead  with
  1701.         normal operations.
  1702. N
  1703.    The second step is obviously the most complicated,  so we'll
  1704.    go  through the steps of setting a hypothetical form,  as an
  1705.    example.
  1706.  
  1707.    Refer  to !XFigure 2Y" on page 4.10 as you follow the example.
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.                                4.9
  1714.  
  1715.                                         (continued) !XPRINTER_SETY
  1716.  
  1717.  
  1718.  
  1719. SETTING PRINTER PARAMETERS" (continued)
  1720.    12345678901234567890123456789012345678901234567890123456789T36
  1721.    -- -- --  !A" -- -- -- -- -- -- -- -- !B"  -- -- -- !C"  -- -- --T12
  1722.   |(perforation)                           voucher No.  11234 |A
  1723.   |                                                           |
  1724.   |                                                           |
  1725.   |                                                           |
  1726.   |!X   DATE          DESCRIPTION          AMOUNT       TOTAL   |      Y"
  1727. 1 |(1)      (2)                       (3)                     |  |  |
  1728. 2 |                                                           |  |  |
  1729. 3 |                                                           |  F  |
  1730. 4 |X                                                           Y|  O  |
  1731. 5 | check date                                                |  R  |
  1732. 6 |!X(4)                  |totals       |          |(5)         Y"|  M  |
  1733. 7 |                                                           |     PT12
  1734.    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  1735. 8 | !SOFTWARE DEVELOPMENT INC"                 check No.  !11234" |  L  AA
  1736. 9 | !100 Any Street"                                            |  E  G
  1737. 10| !Hometown  USA  zipcode        Date(6)"                     |  N  E
  1738. 11|                                                           |  G
  1739. 12| !Pay" to the                                                |  T  L
  1740. 13| order of!(7)" Name                                          |  H  E
  1741. 14|         !(8)" Address                        !Amount"         |  |  N
  1742. 15|         !(9)" City, State  Zip      !(10)"                    |X  |Y  G
  1743. 16|                                                           |     T
  1744. 17|                              X                          Y   |     H
  1745. 18|                                                           |     |T12
  1746.    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  1747. 19|(perforation)                           voucher No.  11235 |     |A
  1748. 20|                                                           |     |
  1749. 21|                                                           |     |
  1750. 22|                                                           |     |
  1751. 23|!X   DATE          DESCRIPTION          AMOUNT       TOTAL   |     |Y"
  1752. 1 |                                                           |
  1753. 2 |                                                           |
  1754. 3 |                                                           |
  1755. 4 |X                                                           Y|
  1756. 4 | check date                                                |
  1757. 5 |X                     |totals       |          |            Y|
  1758. 6 |                                                           |T12
  1759.    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  1760. 7 | !SOFTWARE DEVELOPMENT INC"                 check No.  !11235" |A
  1761. 8 | !100 Any Street"                                            |
  1762. 9 | !Hometown  USA  zipcode        Date"                        |
  1763. 10|                                                           |
  1764. 11| !Pay" to the                                                |
  1765. 12| order of                                                  |
  1766. 13|                                                           |
  1767. 14|                                            !Amount"         |
  1768. 15|                                                           |
  1769. 16|                                                           |
  1770.  
  1771.                            !XFIGURE 2Y"T96
  1772.                               4.10A
  1773.  
  1774.                                         (continued) !XPRINTER_SETY
  1775.  
  1776.  
  1777.  
  1778. SETTING PRINTER PARAMETERS" (continued)
  1779.  
  1780.  
  1781.    Let's  say that you have been hired by SOFTWARE  DEVELOPMENT
  1782.    to handle the software program necessary for their  computer
  1783.    to handle all the check writing for the company.  The checks
  1784.    and vouchers are continuous forms,  which appear together as
  1785.    one(1) form.  
  1786.  
  1787.  
  1788.   Here is the !information you have.
  1789.  
  1790.    1)"  You !know the order in which the information will be sent
  1791.    to  the printer" and what that information is.   Here is  the
  1792.    list (in order).
  1793.  
  1794.      !A) Date" of the purchase
  1795.      !B) Description" of the purchase
  1796.      !C) Amount" of the purchase
  1797.           ***    A, B, and C could be repeated 3    ***
  1798.           ***    more times for different items     ***
  1799.      !D)" current !Date
  1800.      E) Check Total
  1801.      F)" current !Date
  1802.      G) Name" of payee
  1803.      !H) Adress" of payee
  1804.      !I) City" of payee
  1805.      !J) State" of payee
  1806.      !K) Zipcode" of payee
  1807.      !L) Total" amount of check
  1808.  
  1809.    !2)" You also have !samples of the continuous forms.
  1810.  
  1811.                             NOW WHAT!!
  1812.  
  1813.  
  1814.    First" of all,  you're in luck.  The !information will be sent
  1815.    from  the computer in" just the !order" you need it.   How con-
  1816.    venient.  All you have to do is !determine the placing on the
  1817.    forms for each item" of information,  !set the Vertical Format"
  1818.    and  a  few !Horizontal Tabs",  then !add the  correct  control
  1819.    sequences to the existing computer program".  Pretty straight
  1820.    forward.
  1821.  
  1822.    By looking at the form, (both voucher and check), you deter-
  1823.    mine that you only need to !establish the Top-Of-Form  (TOF),
  1824.    Page  Length  (BOF),  Form Length and three(3) Vertical  Tab
  1825.    stops".   Well,  this is easy!   We can set Vertical Tabs  in
  1826.    channel 2  since we only need three(3), and the code to move
  1827.    to  a  tab in channel 2 is only one(1) byte, instead of  the
  1828.    two(2) required for the other channels.
  1829.  
  1830.  
  1831.                               4.11
  1832.  
  1833.                                         (continued) !XPRINTER_SETY
  1834.  
  1835.  
  1836.  
  1837. SETTING PRINTER PARAMETERS" (continued)
  1838.  
  1839.  
  1840.    To make this easier to follow,  the places on the form where
  1841.    we  want  to print information,  are marked with numbers  in
  1842.    italics, such as !(1), (2), ..."
  1843.  
  1844.  
  1845.  !FIRST  -   Establish the Top-Of-Form (TOF)"
  1846.    This  amounts  to  finding out how many Line Feeds  (LF)  we
  1847.    would  need to send to get from the 1st TOF to the 2nd  TOF.
  1848.    !In this case,  twenty-three(23).   I prefer to refer to this
  1849.    as  Page  Length" so it doesn't get confused  with  the  Form
  1850.    Length.  But, aren't they the same?  No!
  1851.  
  1852.  
  1853. !XREMEMBERY
  1854.    PAGE  LENGTH" is the number of lines from one TOF to the next
  1855.    TOF.
  1856.  
  1857.    !FORM LENGTH" is the number of lines from the 1st print  posi-
  1858.    tion  to the last print position (the last line that we will
  1859.    print on, if you like).
  1860.  
  1861.  
  1862.  !SECOND  -  Establish the Bottom-Of-Form (BOF)
  1863.    This is the Form Length."   And how many lines are there from
  1864.    the  top line to the last line of print?   Right!   Fifteen.
  1865.    So the !BOF will be set in line 15".
  1866. E        But  why not use the same number for both Page Length  and
  1867.         Form Length?  We could.  But if you want to make sure that
  1868.         nothing can be mistakenly printed below a certain point on
  1869.         a page,  set the BOF at that point.  When the printer gets
  1870.         to  that  line it will print on that line,   but any  Line
  1871.         Feeds,  Vetical  Tabs,  or  TOF  commands will  cause  the
  1872.         printer to advance to the next TOF.
  1873. N
  1874.  
  1875.  !THIRD  -  Set the Vertical Tabs"
  1876.    This time we only need Vertical Tabs in lines 6, 10, and 13.
  1877.  
  1878.  
  1879.  !FOURTH  -  Set the Horizontal tabs"
  1880.    Just three(3).   !A" in column 11,  !B" in column 37,  and !C"  in
  1881.    column 49.
  1882.  
  1883.    Remember,  we  already know how to set Horizontal Tabs  from
  1884.    BASIC.  Here's how.
  1885.  
  1886.              !LPRINT CHR$(27)+CHR$(40)+"011,037,049.""
  1887.    I love the easy parts.
  1888.  
  1889.  
  1890.                               4.12
  1891.  
  1892.                                         (continued) !XPRINTER_SETY
  1893.  
  1894.  
  1895.  
  1896. SETTING PRINTER PARAMETERS" (continued)
  1897.  
  1898.  
  1899.    Now that we know were everthing goes in our Vertical Format,
  1900.    we might as well convert it into code that the NEC 8023A can
  1901.    understand, and go to it.T36
  1902. *T12
  1903.    !XFigure 3Y", on  page 4-14, is a representation of how the codeA
  1904.    looks in !BINARY",  which !is for the printer", with the !HEX and
  1905.    ASCII codes" included along side, so !we can understand" it.
  1906.  
  1907.    As  we  mentioned before,  we need to send two(2)  bytes  ofA
  1908.    information  for each line of our form.   Lucky for us,  the
  1909.    second byte of each line is always the same.  That makes our
  1910.    job a little easier.
  1911.  
  1912.    As you see from the example, a !line zero(0) and line twenty-
  1913.    five(25)" have been included.    These lines have the  two(2)
  1914.    codes  talked  about  previously (page 4.9) which  tell  the
  1915.    printer to start loading Vertical Format information  1D HEX
  1916.    and that we are finished loading 1E HEX.  These are !the only
  1917.    lines that only require a single byte".
  1918.  
  1919.  
  1920.   !FINALLY"
  1921.  
  1922.    Here is a BASIC program to set the  Vertical Format  for the
  1923.    Example Form on page 4.10.
  1924.  
  1925.  
  1926.      !10 WIDTH "LPT1:",255"  'stops BASIC's extra Line Feeds
  1927.      !20 LPRINT CHR$(29);"   'GS code
  1928.      !30 FOR L=1 TO 24"      'number of lines - TOF to TOF
  1929.      !40 READ L"             'read the data bytes for each line
  1930.      !50 LPRINT CHR$(L);"    'send to printer wo/LF
  1931.      !60 LPRINT CHR$(64);"   'send 2nd byte of pair
  1932.      !70 NEXT L"             'repeat until done
  1933.      !80 LPRINT CHR$(30)"    'RS code w/LF to clear buffer
  1934.      !90 LPRINT CHR$(27)+CHR$(40)+"011,037,049.""
  1935.                            'don't forget the horizontal tabs
  1936.      !120 WIDTH "LPT1:",80"  'reset BASIC for printer width 80
  1937.      !110 END"               'done
  1938.      !200 DATA "65,!64,64,64,64,"66,!64,64,64,"66,!64,64
  1939.      210 DATA "66,!64,"67,!64,64,64,64,64,64,64,64,"65
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945. QL008T12
  1946.      *
  1947.        APPENDIX E contains information about converting numbers between counting systems.T48
  1948. NL008A
  1949.                               4.13
  1950.  
  1951.                                         (continued) !XPRINTER_SETY
  1952.  
  1953.  
  1954.  
  1955. SETTING PRINTER PARAMETERS" (continued)
  1956.  
  1957.  
  1958.  !LN" |      !BINARY  Bit Placement"         |   !HEX!    |  !ASCII"  |
  1959.  !X#   7 6 5 4 3 2 1 0 - 7 6 5 4 3 2 1 0   |          |         |Y
  1960.           Byte 1            Byte 2"
  1961.  0   !0 0 0 1 1 1 0 1   (GS code-1 byte)  -    1D    -    29"
  1962.  1   !0 1 0 0 0 0 0 1" - 0 1 0 0 0 0 0 0 -!TOF-41"  40  -  !65"  64
  1963.  2   0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1964.  3   0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1965.  4   0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1966.  5   0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1967.  6   !0 1 0 0 0 0 1 0" - 0 1 0 0 0 0 0 0 -!VT- 42"  40  -  !66"  64
  1968.  7   0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1969.  8   0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1970.  9   0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1971.  10  !0 1 0 0 0 0 1 0" - 0 1 0 0 0 0 0 0 -!VT- 42"  40  -  !66"  64
  1972.  11  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1973.  12  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1974.  13  !0 1 0 0 0 0 1 0" - 0 1 0 0 0 0 0 0 -!VT- 42"  40  -  !66"  64
  1975.  14  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1976.  15  !0 1 0 0 0 0 1 1" - 0 1 0 0 0 0 0 0 -!BOF-43"  40  -  !67"  64
  1977.  16  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1978.  17  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1979.  18  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1980.  19  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1981.  20  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1982.  21  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1983.  22  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1984.  23  0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0   -  40  40  -  64  64
  1985.  24  !0 1 0 0 0 0 0 1" - 0 1 0 0 0 0 0 0 -!TOF-41"  40  -  !65"  64
  1986.  25  !0 0 0 1 1 1 1 0   (RS code-1 byte)  -    1E    -    30
  1987.  
  1988.                            XFIGURE 3Y"
  1989.  
  1990.  
  1991.  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
  1992.  
  1993.  
  1994.  
  1995.    Is  this getting to be too much for you?   But we're  almost
  1996.    finished!!   All  we  have to do is !add the  proper  control
  1997.    sequences to our computer check writing program",  and  we'll
  1998.    be done.
  1999.  
  2000.    Rather  than try to guess how the check writing program  may
  2001.    be  coded,  let's  just  make an ordered list  of  what  the
  2002.    NEC 8023A  needs  to  receive so it can handle  the  example
  2003.    check/voucher  forms.   You  can worry about  rewriting  the
  2004.    computer program later.
  2005.  
  2006.  
  2007.  
  2008.                               4.14
  2009.  
  2010.                                         (continued) !XPRINTER_SETY
  2011.  
  2012.  
  2013.  
  2014. SETTING PRINTER PARAMETERS" (continued)
  2015.  
  2016.  
  2017.    !FIRST" you need to make sure that the perforation is right at
  2018.    the  cutting edge of the printer.   With our  Example  Form,
  2019.    that  will  put  the  print head  in  the  correct  starting
  2020.    position.  A lucky break!
  2021.  
  2022.  
  2023.    !ASSUME"  that  we  have already run the program  to  set  the
  2024.    Vertical Format and the Horizontal Tabs. 
  2025.  
  2026.  
  2027.    !ORDERED LIST" of information from computer to printer:
  2028.  
  2029.    !1) Date" of the purchase
  2030.         !a) Horizontal Tab" CHR$(09) to position (2)
  2031.    !2) Description" of purchase
  2032.         !a) Horizontal Tab" to position (3)
  2033.    !3) Amount" of purchase
  2034.       ***  If there is more than 1 item being paid for  *** 
  2035.       ***  with this check, then a Line Feed should be  ***
  2036.       ***  sent here, and 1 thru 3 should be repeated.  ***
  2037.         !a) Carriage Return" CHR$(13)
  2038.         !b) Vertical Tab" CHR$(11) to line 6 - position (4)
  2039.    !4)" Current !Date
  2040.         a) Three(3) Horizontal Tabs" to position (5)
  2041.    !5)" Check !Total
  2042.         a) Carriage Return
  2043.         b) Vertical tab" to line 10
  2044.         !c) Two(2) Horizontal Tabs" to position (6)
  2045.    !6)" Current !Date
  2046.         a) Carriage Return
  2047.         b) Vertical Tab" to line 11
  2048.         !c) Horizontal Tab" to position (7)
  2049.    !7) Name" of payee
  2050.         !a) Carriage Return
  2051.         b) Line Feed" to line 12
  2052.         !c) Horizontal Tab" to position (8)
  2053.    !8) Address" of payee
  2054.         !a) Carriage Return
  2055.         b) Line Feed" to line 13
  2056.         !c) Horizontal Tab" to position (9)
  2057.    !9) City" of payee (!+ a comma and space")
  2058.    !10) State" of payee (!+ a double space")
  2059.    !11) Zipcode" of payee
  2060.         !a) Horizontal Tab" to position (10)
  2061.    !12) Total" amount of check
  2062.         !a) Carriage return
  2063.         b) Form Feed" to the next form - position (1)
  2064.  
  2065.  
  2066.  
  2067.                               4.15
  2068.  
  2069.                                         (continued) !XPRINTER_SETY
  2070.  
  2071.  
  2072.  
  2073. SETTING PRINTER PARAMETERS" (continued)
  2074.  
  2075.  
  2076.    There!!  We did it.  We actually made it through the setting
  2077.    of a Vertical Format,  and it's even usable.   Great!!   Now
  2078.    you can appreciate the value of PRINTER_SET.   It takes care
  2079.    of all the fun stuff you just learned about.
  2080.  
  2081.                        !ALMOST FINISHED!"
  2082.  
  2083.    What  if you need more that the limit of thirteen(13) Verti-
  2084.    cal Tabs that you can set in channel 2 while using  PRINTER_
  2085.    SET?  What is the control sequence that lets you tab to the
  2086.    stops in the other four(4) channels?  Never fear!
  2087.  
  2088.  
  2089.   !XVERTICAL TABSY"
  2090.  
  2091.    Here  are  the two(2) Vetical Tab codes.   One of them is  a
  2092.    control sequence that may be be used two(2) different ways.T36
  2093.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T12
  2094.    |                                                          |A
  2095.    |          !VERTICAL TAB (VT)  -  CHR$(11)" [channel 2 only] |
  2096.    |        !UNIT SEPARATOR (US)  -  CHR$(31) + [XX]"           |
  2097.    |                                                          |T12
  2098.      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --T36
  2099.    [!XX"]  !is" a number which describes !either  the channel number"A
  2100.    which contains the Vertical Tab Stop !or the number of  lines
  2101.    to advance".
  2102.  
  2103.    Here we go.  BINary and HEXadecimal numbers again.  Oh well.
  2104.    This  time it really is easier to understand.   Believe  me?
  2105.    Look at !XFigure 4Y".
  2106.  
  2107.  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
  2108.  
  2109.         !SECOND BYTE (follows immediately after US code)"
  2110.  
  2111.               !
  2112. Xtype |  7 6 5 4 - 3 2 1 0  |     limits      |       meaning    Y"
  2113. | !A"  -  0 0 0 0 - 0 !x x x"  -  0 < total > 7  -  !Channel  Number" |
  2114. | !B"  -  0 0 0 1 - !x x x x"  -  0 < total > 16 -  !Number of Lines" |
  2115.  
  2116.       !TYPE A" is always !greater than  CHR$(00)  -  00 HEX"
  2117.   channel number      and !less than  CHR$(07)  -  07 HEX
  2118.  
  2119.       TYPE B" is always !greater than  CHR$(16)  -  10 HEX"
  2120.   number of lines     and !less than  CHR$(31)  -  20 HEX
  2121.  
  2122.                            XFIGURE 4Y"
  2123.  
  2124.  
  2125.  
  2126.                               4.16
  2127.  
  2128.                                         (continued) !XPRINTER_SETY
  2129.  
  2130.  
  2131.  
  2132. SETTING PRINTER PARAMETERS" (continued)
  2133.  
  2134.  
  2135.    Let's  look at the two(2) ways in reverse order,  just to be
  2136.    different.
  2137.  
  2138.   !TYPE B
  2139.    The 1st of the two(2) bytes" necessary, !is always the same.
  2140.  
  2141.                     US  -  CHR$(31)  -  1F HEX"
  2142.  
  2143.    It's  !only  the 2nd byte" that !changes" and that has  a  range
  2144.    which is between CHR$(16) and CHR$(31).   In other words, we
  2145.    are  allowed to tab a distance that is either  greater  than
  2146.    zero(0)  lines,  or less than sixteen(16) lines.   So if for
  2147.    instance,  we want to !tab vertically", using this method, for
  2148.    a distance of !10 lines", the code would be:
  2149.  
  2150.                      !LPRINT CHR$(31)+CHR$(26)"
  2151.  
  2152.    and the printer will receive in HEX  -  !1FH 1AH"
  2153.                          1AH in BINary is !0001-1010"
  2154.  
  2155.    Obviously  we are limited to a total distance of fifteen(15)
  2156.    lines at a time with this control sequence.
  2157.  
  2158.  
  2159.   !TYPE A"
  2160.    Again, the 1st of the two(2) bytes is always the same.
  2161.  
  2162.                     !US  -  CHR$(31)  -  1F HEX"
  2163.  
  2164.    This  time,  the  2nd  byte has a  range  which  is  between
  2165.    CHR$(00)  and  CHR$(07).   After all,  we only have  channel
  2166.    numbers 2, 3, 4, 5, and 6.  So what's the CHR$(01) for then?
  2167.    Oh, you can use that to move directly to the next TOF if you
  2168.    feel  like  it.   Now,  let's use this method to move  to  a
  2169.    !vertical tab" which we have previously set !in channel 5.
  2170.    
  2171.                      LPRINT CHR$(31)+CHR$(05)"
  2172.  
  2173.    and the printer will receive in HEX  -  !1FH 05H"
  2174.                          05H in BINary is !0000-0101
  2175.  
  2176.  
  2177.    Don't  forget that Appendix E has information on  converting
  2178.    between counting systems if you need it."
  2179.  
  2180.    See,  this  was easier than you thought it would  be!  We'll
  2181.    just make a few notes, and then move on to PRINTER_SET.
  2182.  
  2183.  
  2184.  
  2185.                               4.17
  2186.  
  2187.                                         (continued) !XPRINTER_SETY
  2188.  
  2189.  
  2190.  
  2191. SETTING PRINTER PARAMETERS" (continued)
  2192.  
  2193.  
  2194. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *
  2195.  
  2196.    1) The maximum form length (number of lines) is 96.
  2197.  
  2198.    2)" If certain !mistakes" are made setting the Vertical Format,
  2199.    the printer will !revert to the preprogrammed format.
  2200.  
  2201.    3)"  The  !physical  placement of Vertical  Tabs  is"  entirely
  2202.    !dependent on the current Line Spacing".   That is,  the  tabs
  2203.    are set in given line numbers.  So, if Vertical Tabs are set
  2204.    in lines 1,  7,  13,  ..., (power-on settings), the measured
  2205.    distance between tabs will be 1",  assuming of course,  that
  2206.    the  Line Spacing is set to the standard 1/6".   If the Line
  2207.    Spacing  is then changed to 48/144",  (1/3"),  the  measured
  2208.    distance will become 2".
  2209.  
  2210.    !4)" Likewise, !the combination of Line Spacing and Page Length"
  2211.    will !establish the actual" measured !length" of a page.
  2212.  
  2213.    !5) If the print head is at or beyond the last Vertical  Tab,
  2214.    (any  channel),  upon  reception of a VT,  (to that  channel
  2215.    number), the printer will move to the next TOF.
  2216.  
  2217.    6)" Although it's true that when setting the Vertical Format,
  2218.    !bits 7" of !BYTE 1" and !bits 7, 5, 4, 3, 2, and 1" of !BYTE 2 may
  2219.    be"  set to !either 1 or 0",  it appears to be much simpler  to
  2220.    follow the logic if each is set to zero(0).
  2221.  
  2222.    !7) If the Line Spacing is 1/6"",  (power-on value), !the print
  2223.    head will print on the 6th line from the paper cutting edge".
  2224.    Therefore,  using five(5) Reverse Line Feeds, will place the
  2225.    print  head on the 1st line of a page which  previously  had
  2226.    its leading edge posiotioned at the paper cutting edge.
  2227.  
  2228.    !8)  It is the responsibility of the operator to  adjust  the
  2229.    beginning  print  position, (with  software or  by  physical
  2230.    means), to enable the printer to utilize the Vertical Format
  2231.    correctly.
  2232.  
  2233.    9)" It is essential that !the GS code precedes and the RS code
  2234.    follows  the  sending of Vertical Format information" to  the
  2235.    printer.
  2236.  
  2237.    !10)  If using BASIC to set the Vertical Format,"  be sure  to
  2238.    disable !the automatic (Line Feed + Carriage Return) sequence"
  2239.    which !is sent after each group of 80 characters".
  2240.  
  2241.  
  2242.  
  2243.  
  2244.                               4.18
  2245.  
  2246.                                         (continued) !XPRINTER_SETY
  2247.  
  2248.  
  2249.  
  2250. INSTALLATION"
  2251.  
  2252.    If  you will only need to set your printer one(1)  time  for
  2253.    each  computing  session,  then you may want to use the  old
  2254.    reliable  AUTOEXEC.BAT file to call it up when you  turn  on
  2255.    your  computer.   The  line to call it should appear in  the
  2256.    file after PRNT-SCN and PRNT-CHR and should read as follows:
  2257.  
  2258.                              !PRNT-SET"
  2259.  
  2260.    I think though,  that by now you should be able to make up a
  2261.    new  AUTOEXEC.BAT  file without further instructions  or  by
  2262.    referring back to those given on pages 3.3 and 3.4.   So, to
  2263.    save  you  the druggery of more  advice  about  AUTOEXEC.BAT
  2264.    files, I'll just forge ahead.
  2265.  
  2266.  
  2267.  
  2268. !XREMBEMBERY
  2269.  
  2270.    Nothing extra!!  Just follow the directions.
  2271.  
  2272.  
  2273.  
  2274. DEMONSTRATION
  2275.  
  2276.    1)" Put !THE DEMO DISK" in !drive A".
  2277.  
  2278.    !2)" Make sure you have the correct DOS prompt, !A>".
  2279.  
  2280.    !3)" Type !PRNT-SET" and press !ENTER".
  2281. E        What  you  now see is the mandatory copyright  notice  and
  2282.         title page.   You are offered three(3) choices,  but since
  2283.         you want to learn how to use this program, let's not press
  2284.         Q and stop just yet.
  2285. N
  2286.    !4)" Press !I".
  2287. E        Do you feel reassured?
  2288. N
  2289.    !5)" Press !S" for start.
  2290. E
  2291.         eters other than during the setting of forms.   But, since
  2292.         this  is a tutorial on the program's use,  it will be much
  2293.         simpler if you make the settings in the same order as  the
  2294.         demonstration  this first time.   After that,  it's up  to
  2295.         you.  So, with that in mind, let's go.
  2296. N
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.                               4.19
  2304.  
  2305.                                         (continued) !XPRINTER_SETY
  2306.  
  2307.  
  2308.  
  2309. DEMONSTRATION" (continued)
  2310.  
  2311.  
  2312.    !6)" Set the !Character Pitch" by pressing !P".
  2313. E        Did you notice a change in the screen?  The !top portion" of
  2314.         the  display  !is your data storage area" and now  the  word
  2315.         !XpitchY"  is  high-lighted with reverse  video.   The  !bottom
  2316.         portion"  of  the screen also changed.   This !is  our  work
  2317.         area".   Every time you choose which parameter to set,  the
  2318.         top  and  bottom  portions of the screen  will  change  to
  2319.         reflect your choice.
  2320. N
  2321.    !7)" So,  follow  the directions on the screen and  make  your
  2322.    choice.  How about !Compressed" this time?  Press !C".
  2323. E
  2324.         Look at your printer output.  You should see the sentence:
  2325. Q
  2326.                                The character pitch is now set to compressed.
  2327. E
  2328.         Kind of small isn't it?   Let's change it to Elite so  you
  2329.         can read it.
  2330. N
  2331.    !8)" Type !P" and then type !E", for Pitch and Elite.
  2332. E        Now  look  at  the print out.   A little easier  to  read?
  2333.         Good.   You  will probably have noticed by now that  after
  2334.         you  make a setting,  The program moves back to  the  main
  2335.         menu  automatically and waits for your next  choice.   How
  2336.         about setting the Line Spacing next?
  2337. N
  2338.    !9)" Type !L" for Line Spacing.
  2339. E        As  before,  Both  portions of the screen have changed  to
  2340.         reflect your choice.
  2341.  
  2342.         Now we have to start dealing with numbers.  If you want to
  2343.         set either of the most often used Line Spacings, You still
  2344.         only  need  letters,  !S" and !A".   But since  that's  pretty
  2345.         similar  to what we just did with the Character Pitch  and
  2346.         we  will  need to use numbers for some of the  other  set-
  2347.         tings, we might as well start now.
  2348.           
  2349.         As  you  can  see from the display,  we can set  the  Line
  2350.         Spacing  on a NEC 8023A anywhere from 02/144" to  98/144".
  2351.         But  the screen says !"decimal numbers between 01 and  99"."
  2352.         That's right.  !BETWEEN !!"
  2353.  
  2354.         Let's try a setting of 48/144".
  2355. N
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.                               4.20
  2363.  
  2364.                                         (continued) !XPRINTER_SETY
  2365.  
  2366.  
  2367.  
  2368.  DEMONSTRATION" (continued)
  2369.  
  2370.  
  2371.    !10)" Type !48" and press !ENTER".
  2372. E        Check the print out.   See.   The Line Spacing is changed.
  2373.         And  our storage area at the top of the screen displays  a
  2374.         reminder.  Now to set the left margin.
  2375. N
  2376.    !11)" Type !L".
  2377. E!        Did you do it?"   Did you fall for the trick?   Well  there
  2378.         was a reason to trick you.  It's time to explain about the
  2379.         line that keeps appearing at the bottom of your screen.
  2380.  
  2381.                        !(X) to set other parameters."
  2382.  
  2383.         If  for some reason you find yourself looking at a display
  2384.         for setting a parameter you don't wish to set,  just  type
  2385.         X, sometimes you also need to press !ENTER", and it gets you
  2386.         back  to the main menu ready to make another choice.   You
  2387.         should do that now !(press x)".
  2388. N
  2389.    !12)" No more tricks!  Type !M" for Left Margin.
  2390. E        Now  you  need a 3-digit decimal number from 000  to  120.
  2391.         And it does mean a 3-digit number.  If you want to set the
  2392.         Left Margin  at  2 spaces  from the left of the page,  !you
  2393.         must type 002 not 2".   This time we will set the Margin at
  2394.         10 spaces from the left of the page.
  2395. N
  2396.  
  2397. !XREMEMBERY
  2398.  
  2399.    The  physical location of the Left Margin is dependent  upon
  2400.    the  Character  Pitch in effect when the Margin is  defined.
  2401.    Its physical location does not change if the Character Pitch
  2402.    is changed thereafter, unless it is redefined.
  2403.  
  2404.    13)" Type !010" and press !ENTER".
  2405. E        See!   The  print out is set to a new  Left  Margin.   How
  2406.         about a few Horizontal Tab stops.
  2407. N
  2408.    !14)" Press !H" for Horizontal Tabs.
  2409. E        Again  we  need 3-digit decimal numbers like we  used  for
  2410.         setting  the Left Margin.   But this time,  since we  have
  2411.         more than one number,  we also have to separate them  with
  2412.         commas.   Remember  that from earlier?   And I suppose you
  2413.         also remembered the period.   Well,  PRINTER_SET  includes
  2414.         the period automatially, so it's not needed this time.
  2415.  
  2416.         Let's set the Horizontal Tabs that we used in our  example
  2417.         on page 4.10.
  2418. N
  2419.  
  2420.  
  2421.                               4.21
  2422.  
  2423.                                         (continued) !XPRINTER_SETY
  2424.  
  2425.  
  2426.  
  2427.  DEMONSTRATION" (continued)
  2428.  
  2429.  
  2430.    !15)" Type !011,037,049" and press !ENTER".
  2431. E
  2432.         The screen changes to show our new settings.
  2433. N
  2434.  
  2435.  
  2436. !XREMEMBERY"
  2437.  
  2438.    Don't forget that you need to !enter 3-digit numbers" when you
  2439.    set Horizontal Tab stops,  !(separated with commas)", and that
  2440.    typing !C will clear any tabs" that might be set.  
  2441.  
  2442.    !When  you set new Horizontal Tabs,  all those previously set
  2443.    are cleared."  So,  if you need any that were set previously,
  2444.    you must include them.
  2445.  
  2446.    !The  physical location of Horizontal Tabs is dependent  upon
  2447.    the  Character  Pitch is effect when they  are  established."
  2448.    Changing  the Character Pitch does not move the location  of
  2449.    the tabs which are set.
  2450.  
  2451.  
  2452.    !16)" Press !F" and we'll set a Form.
  2453. E        This  time  we  need 2-digit numbers to  define  our  Page
  2454.         Length.   You remember what the difference is between Page
  2455.         Length and Form Length is, don't you?
  2456.  
  2457.             !PAGE LENGTH = TOF to TOF" (1st lint to 1st line)
  2458.             !FORM LENGTH = TOF to BOF" (last line with print)
  2459.  
  2460.         We'll  stay  with  our example (page 4.10),  so  !the  Page
  2461.         Length is 23".
  2462. N
  2463.    !17)" Type !23" and press !ENTER".
  2464. E
  2465.         Now!  If you remember, !the Form Length is 15".  So,...
  2466. N
  2467.    !18)" Type !15" and press !ENTER".
  2468. E        Check  the  screen.   Does  it display the Page  and  Form
  2469.         Lengths  you wanted?   Good.  The  print-out  matches,  of
  2470.         course. 
  2471.  
  2472.         Now  we'll set our Vertical Tabs.   We still need  2-digit
  2473.         numbers, and again, commas to separate them.
  2474.  
  2475.         Staying with our example, we only need channel 2.
  2476. N
  2477.  
  2478.  
  2479.  
  2480.                               4.22
  2481.  
  2482.                                         (continued) !XPRINTER_SETY
  2483.  
  2484.  
  2485.  
  2486.  DEMONSTRATION" (continued)
  2487.  
  2488.  
  2489.    !19)" Type !06,10,13" and press !ENTER".
  2490. E        The  upper portion of the display changes to  reflect  our
  2491.         choices, and the lower portion is now ready to accept more
  2492.         input from us.
  2493.  
  2494.         Since  we  only need to set Vertical Tabs  in  channel  2,
  2495.         (this  time),  we  can use a short cut to finish with  the
  2496.         setting of the Vertical Format.  Of course we could type C
  2497.         and press ENTER, but that gives us extra print-out that we
  2498.         don't really need.
  2499. N
  2500.    !20)" Type !N" for next, and press !ENTER".
  2501. E        See  the change in the display.   It changed to  the  next
  2502.         channel  and is waiting for more input.   Well,  we  don't
  2503.         have any more, so,...
  2504. N
  2505.    !21)" Type !N" and press !ENTER".
  2506. E        Go  ahead  and  !repeat this until you get  to  channel  6.
  2507.         Then, do it again."  Did you notice the NEC 8023A do a Line
  2508.         Feed?   That  means that the information has been received
  2509.         by the printer.  When you define Vertical Tabs for channel
  2510.         6,  you will get extra Line Feeds. That's normal,  because
  2511.         PRINTER_SET clears the printer buffer with a LF each  time
  2512.         it sends information.
  2513.  
  2514.         The Vertical Format is now set!!   The PAGE  LENGTH,  FORM
  2515.         LENGTH, and each VERTICAL TAB is in place.  It's all ready
  2516.         for  you  to use.   How do you like  PRINTER_SET?   Is  it
  2517.         easier than BASIC?  It sure is faster.
  2518.  
  2519.         We're done with PRINTER_SET for now.  Let's quit.
  2520. N
  2521.    !22)" Type !Q".
  2522. E        Great!   The  printer  even clears the paper with all  the
  2523.         printing on it.
  2524.  
  2525.         Notice that the Form Feed (FF) will appear to be different
  2526.         from the Page Length that you have just defined.   But  it
  2527.         is only an illusion.   PRINTER_SET establishes the new TOF
  2528.         after you have finished setting the Vertical Tabs for each
  2529.         channel.   Therefore,  this gives the appearance of an in-
  2530.         correct TOF.   Not so!   Of course,  it does mean that you
  2531.         will  have to use manual means,  (turn the carriage  until
  2532.         the paper perforation is at the edge of the paper cutter),
  2533.         to  make sure the TOF and the edge of paper are the  same.
  2534. N
  2535.  
  2536.  
  2537.  
  2538.  
  2539.                               4.23
  2540.  
  2541.                                         (continued) !XPRINTER_SET
  2542.  
  2543.  
  2544.  
  2545. REMEMBERY"
  2546.  
  2547.  
  2548.  
  2549.    Now that you have made it through PRINTER_SET one time, here
  2550.    are a few pointers to keep in mind.
  2551.  
  2552.  
  2553.    !1)"  PRINTER_SET is invoked (started) by typing PRNT-SET  and
  2554.    pressing ENTER.
  2555.  
  2556.    !2)"  Even though the Title Page makes no mention of  it,  !you
  2557.    are  able to move directly to making settings by typing  the
  2558.    letter of the parameter you wish to set".  So,...
  2559.                !P"   -   Character Pitch
  2560.                !L"   -   Line Spacing
  2561.                !M"   -   Left Margin
  2562.                !H"   -   Horizontal Tabs
  2563.                !F"   -   Forms (page and form length
  2564.                                plus vertical tabs)
  2565.  
  2566.    !3)" If you view the Instruction Page after making settings to
  2567.    the  various parameters,  the upper portion of the  display,
  2568.    will  no  longer show the settings you had previously  made.
  2569.    This does not,  however affect the settings on the  printer,
  2570.    but only the screen reminder.
  2571.  
  2572.    !4)"  The Character Pitch in effect when the  Horizontal  Tabs
  2573.    and  Left Margin are set,  determines their actual  physical
  2574.    position.  Therefore, it is a good idea to set the Character
  2575.    Pitch first.
  2576.  
  2577.    !5)"  It is possible to set Horizontal Tabs to the left of the
  2578.    Left Margin where they can not be accessed.   For  instance,
  2579.    if  the Left Margin is set at 20 and Horizontal Tabs are set
  2580.    in column 5 and 15,  the Tabs can not be accessed.   Further
  2581.    more, you can confuse the printer by trying.
  2582.  
  2583.    !6)"  Once  you  have begun to make setting  to  the  Vertical
  2584.    Format,  (Forms),  you can no longer use the X to return  to
  2585.    the main menu.   You are still able to return before setting
  2586.    the Page Length, though.
  2587.  
  2588.    !7)" The Page Length and Form Length you choose are  dependent
  2589.    upon the Line Spacing.   If for instance, you currently have
  2590.    a  Form and/or Page Length which is 66 lines,  (the power-on
  2591.    settings),  and then change the Line Spacing from the stand-
  2592.    ard  1/6" setting to a setting of 1/2",  the  measured  Form
  2593.    and/or Page Length will triple from 11" to 33".   The number
  2594.    of lines, however, is not changed.
  2595.  
  2596.  
  2597.  
  2598.                               4.24
  2599.  
  2600.                                         (continued) !XPRINTER_SET
  2601.  
  2602.  
  2603.  
  2604. REMEMBERY" (continued)
  2605.  
  2606.  
  2607.    !8)" When using PRINTER_SET to set the Vertical  Format,  (the
  2608.    Page  Length specifically),  you should enter the number  of
  2609.    lines from TOF to TOF.   That is, the length of one(1) page.
  2610.    For instance, if you refer to the example on page 4.10, this
  2611.    value  is 23 lines.   Don't be confused by the BASIC program
  2612.    example on page 4.13 which appears to be using 24 lines  for
  2613.    Page Length.   The program is just using the FOR...NEXT loop
  2614.    to set the next TOF, not defining a 24 line page.  In short,
  2615.    PRINTER_SET  will set the next TOF in the line which follows
  2616.    the number of lines you specify for Page Length.
  2617.  
  2618.    !9)"  Even though the screen instructions do not  mention  it,
  2619.    you  may use a CARRIAGE RETURN by itself to move to the next
  2620.    channel  number.   It is not absolutely necessary to use the
  2621.    "N" option.
  2622.  
  2623.    !10)" You are able to use the BACKSPACE key to make changes to
  2624.    previous input, but only before pressing ENTER.
  2625.  
  2626.    !11)" Any attempt to make keystrokes which are not acceptable,
  2627.    will result in a low pitched error tone.
  2628.  
  2629.    !12)" It is possible however, to make incorrect entries by not
  2630.    entering keystrokes in the acceptable formats.   So,  if for
  2631.    instance,  you  enter 5 instead of 005 in an attempt to  set
  2632.    the Left Margin in column five(5),   the Margin will not  be
  2633.    set.   Likewise,  Vertical  Tabs entered as 005,010,040  are
  2634.    incorrect, and will not be set.
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.                               4.25
  2658.  
  2659.                                                 !XWORD PROCESSINGY"
  2660.  
  2661.  
  2662.  
  2663. There are an uncountable number of word processing packages  on
  2664. the market, some good, some not so good.  But, they all share a
  2665. common  weakness.   They make it difficult,  if not impossible,
  2666. for us to use the many advanced features of our printers.  As a
  2667. rule,  this is because word processors don't have a way for  us
  2668. to  send control sequences to the printer from within the docu-
  2669. ments we have written.
  2670.  
  2671.  
  2672.  
  2673. Fortunately, those who are bringing new word processor programs
  2674. to  market have realized this deficiency.   Some of the  newest
  2675. additions  have buit in "patch" areas which allow us to  insert
  2676. the codes our printer needs to do its thing.   Others don't use
  2677. "patches",   but  instead  allow  us  to  "imbed"  our  control
  2678. sequences directly into the text.
  2679.  
  2680.  
  2681.  
  2682. One  thing  you must remember about using your  NEC 8023A  with
  2683. many,  if  not  most of the newer word  processors.   The  word
  2684. processor  usually is very greedy and wants to have total  con-
  2685. trol of your printer.   What this means is that you should  not
  2686. use  PRINTER_SET  to  establish any of the parameters  on  your
  2687. NEC 8023A.  The wordprocessor will take care of everything.
  2688.  
  2689.  
  2690.  
  2691. For  the remainder of this chapter,  we will concern  ourselves
  2692. with specific word processing programs that are available.  The
  2693. inclusion  or exclusion of a specific word processor in no  way
  2694. reflects  on the quality of that  program.   If  anything,  the
  2695. exclusion  of a program means that the information just  wasn't
  2696. available at the time of publishing.
  2697.  
  2698.  
  2699.  
  2700. !NOTICE"
  2701.  
  2702. This is one of the most important chapters to many users of the
  2703. NEC 8023A UTILITIES.  Since it's practically impossible for one
  2704. person to test PRINT_CHARACTERS with each word processor on the
  2705. market, it is up to you,  the user,  to keep this chapter up to
  2706. date.  If after using PRINT_CHARACTERS with your word processor
  2707. for a time,  you feel able to either add to the information  on
  2708. one of the coverd word processors, or to add coverage for a new
  2709. one,  please send your information to the author for  inclusion
  2710. in future versions.
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716.                                5.1
  2717.  
  2718.                                                 !XWORD PROCESSINGY
  2719.  
  2720.  
  2721. T12
  2722.         tm
  2723. WORDSTAR"T48
  2724. A
  2725. This  is probably the most used word processor on the  IBM  PC.
  2726. WordStar is very versatile.  In fact, it probably has something
  2727. for everyone.   Unfortunately, there are many WordStar features
  2728. that  aren't recognized as being useable with the NEC 8023A dot
  2729. matrix printers.   Well, this section will correct that lack of
  2730. recognition,  by  showing you how to use most of  the  advanced
  2731. features of your NEC 8023A when you use WordStar.
  2732.  
  2733. The newest version (3.3) of WordStar comes with an installation
  2734. program  which  will allow you to set many of the  features  we
  2735. will  be discussing.   But many people,  for one reason or  an-
  2736. other,  have never bothered to update to the new version.   So,
  2737. with  that in mind,  we will use the utility program  DEBUG.COM
  2738. which came with your copy of PC DOS, to make the patches.  That
  2739. way, everyone will be able to make use of this information even
  2740. if they don't have the WordStar installation program.
  2741.  
  2742. !Don't worry!"  You won't have to know how to use DEBUG.COM to do
  2743. these patches.   Simple step-by-step instructions are  provided
  2744. for  adding each individual feature.   If you only want to  add
  2745. some of the features,  instead of all of them, you will be able
  2746. to do that too.
  2747.  
  2748. We'll do these patches using only one(1) drive, even though you
  2749. may have two(2) available.   The first thing you need to do, is
  2750. prepare a diskette to work on.  Once the diskette is ready, you
  2751. can  use  it repeatedly to prepare copies of WordStar that  are
  2752. configured differently for each of your word processing  needs.
  2753. Here's the list of what you need,  to add the advanced features
  2754. to your copy of WordStar.
  2755.  
  2756.    !A newly FORMATTED diskette that includes a copy of DOS.
  2757.  
  2758.    Add these files" to the diskette.
  2759.  
  2760.                            !DEBUG.COM
  2761.                             WS.COM" a working copy
  2762.  
  2763.    We'll call this the !WORK DISK".
  2764.  
  2765.  *    *    *    *    *    *    *    *    *    *    *    *    *
  2766.  
  2767.    Put the diskette into !drive A" and make sure you have the DOS
  2768.    prompt !A>".
  2769.  
  2770.  
  2771.                  !XNow!!  We are ready to begin.Y"
  2772.  
  2773.  
  2774.  
  2775.                                5.2
  2776.  
  2777.                                                 !XWORD PROCESSINGY
  2778.  
  2779.  
  2780. T12
  2781.         tm
  2782. WORDSTAR"   (continued)T48
  2783. A
  2784.    For  most of the patches,  you will need to make changes  to
  2785.    several consecutive memory locations.  This is easy to do by
  2786.    using the DEBUG command !E"nter.   Here is an example, showing
  2787.    the exact keystrokes necessary to make a change.
  2788.  
  2789.    Note that all the numerical values are in !HEX"adecimal. Since
  2790.    that is how DEBUG displays them,  we'll stick with the  same
  2791.    numbering system.
  2792.  
  2793.                             !XEXAMPLEY
  2794.  
  2795.  
  2796. Set the Default Character Pitch to PICA
  2797.  
  2798.  
  2799.    XThe instructions will show:Y
  2800.  
  2801.                      E xxxx:0770 02 1B 4E
  2802.  
  2803.        xxxx" = the segment of the current memory location
  2804.                 It doesn't matter what the segment is.
  2805.  
  2806.  
  2807.  
  2808.    !XPrepare to make the changes by:Y"
  2809.  
  2810.               Typing !E 0770", and pressing !ENTER".
  2811.  
  2812.  
  2813.  
  2814.    !XThe screen will display:Y
  2815.  
  2816.                          xxxx:0770 zz
  2817.  
  2818.        zz" = the current contents of the memory location
  2819.  
  2820.  
  2821.  
  2822.    !XTo make the changes, your keystrokes will be:Y"
  2823.  
  2824.                  Type !02", press the !Space Bar",
  2825.                  type !1B", press the !Space Bar",
  2826.                  type !4E" and press !ENTER".
  2827. E
  2828.         If  !zz" is already set to the value you wish,  then  simply
  2829.         press  the  !Space Bar",   or if you are at the end  of  the
  2830.         string, press !ENTER".
  2831. N
  2832.  
  2833.  
  2834.                                5.3
  2835.  
  2836.                                                 !XWORD PROCESSINGY
  2837.  
  2838.  
  2839. T12
  2840.         tm
  2841. WORDSTAR"   (continued)T48
  2842. A
  2843. !NOTES  *    *    *    *    *    *    *    *    *    *    *    *
  2844.  
  2845.  
  2846.    1)"  You only press !ENTER" after inputting the entire  string.
  2847.    The  !Space  Bar" is used to move from one memory location  to
  2848.    the next.  
  2849.  
  2850.    !2)"  If  you make a mistake,  !DON'T WORRY!"  Just  repeat  the
  2851.    instructions  for  that particular patch until  you  get  it
  2852.    correct.
  2853.  
  2854.    !3)"  Although  the section about DEBUG in your PC DOS  manual
  2855.    may  appear to be a bit cryptic at first,  you  will  surely
  2856.    benefit from a close study of the chapter.
  2857.  
  2858.   
  2859.  
  2860. !TO START
  2861.  
  2862.    1)"  Put the !WORK DISK" into !drive A".   Make sure you have the
  2863.    correct prompt, !A>".
  2864.  
  2865.    !2)" Type !DEBUG WS.COM" and press !ENTER".
  2866. E        This starts DEBUG and loads the WordStar program to memory.
  2867. N
  2868.    !3)" Now.  Just follow the directions for each of the features
  2869.    you wish to set.  You may set as few as one(1) or as many as
  2870.    are listed before ending.  It's up to you.
  2871.  
  2872.  
  2873.  
  2874. !TO END
  2875.  
  2876.    1)" Type !W" and press !ENTER".
  2877. E        This !W"rites the changes to the !WORK DISK".
  2878. N
  2879.    !2)" Type !Q" and press !ENTER".
  2880. E        This ends this session with DEBUG.
  2881.  
  2882.         !XTo  make a copy of the changed WordStar program on anotherY
  2883.         Xdiskette, do the following.Y
  2884. N
  2885. With the changed WS.COM in drive A:"
  2886.  
  2887.                Type !COPY WS.COM B:" and press !ENTER".
  2888. E
  2889.         Remember, these instructions are for a 1 drive system.
  2890. N
  2891.  
  2892.  
  2893.                                5.4
  2894.  
  2895.                                                 !XWORD PROCESSINGY
  2896.  
  2897.  
  2898. T12
  2899.         tm
  2900. WORDSTAR"   (continued)T48
  2901. A
  2902.    !PATCH LIST
  2903.  
  2904.  
  2905. XSet the Default Character Pitch to PICAY
  2906.  
  2907.      E xxxx:0770 02 1B 4E"  -  sets the printer to PICA
  2908.      !E xxxx:037B 00"        -  tells WS pica is the default
  2909.      !E xxxx:037C 0C"        -  tells WS the character width
  2910.                               is 12/120"
  2911.  
  2912.  
  2913.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  2914.  
  2915. !XSet the Alternate Character Pitch to ELITEY
  2916.  
  2917.      E xxxx:076B 02 1B 45"  -  sets the printer to ELITE
  2918.      !E xxxx:037D 0A"        -  tells WS the character pitch
  2919.                               is 10/120"
  2920.  
  2921.  
  2922.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  2923.  
  2924. !XEnable Mutiple-Strike printingY
  2925.  
  2926.      E xxxx:0746 FF"        -  allows CR with out a LF
  2927.      !E xxxx:0747 03"        -  sets ^PB to three(3) strikes
  2928.      !E xxxx:0748 02"        -  sets ^PD to two(2) strikes
  2929.  
  2930.  
  2931.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  2932.  
  2933. !XAllows ESC to be sent to the PrinterY
  2934.  
  2935.      E xxxx:0789 01 1B"     -  sets ^PE to ESC
  2936.  
  2937.  
  2938.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  2939.  
  2940. !XAllow Italics printing with PRINT_CHARACTERS installedY
  2941.  
  2942.      E xxxx:077F 01 12"     -  sets ^PQ to toggle italics
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.                                5.5
  2953.  
  2954.                                                 !XWORD PROCESSINGY
  2955.  
  2956.  
  2957. T12
  2958.         tm
  2959. WORDSTAR"  (continued)T48
  2960. A
  2961.    !PATCH LIST" (continued)
  2962.  
  2963.  
  2964. !XEnable use of the printer's Continuous UnderlineY
  2965.  
  2966.      E xxxx:078E 02 1B 58"  -  sets ^PR to Underline  ON
  2967.      !E xxxx:0784 02 1B 59"  -  sets ^PW to Underline  OFF
  2968.  
  2969.  
  2970.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  2971.  
  2972. !XEnable use of the printer's Boldface printingY
  2973.  
  2974.      E xxxx:0793 02 1B 21"  -  sets ^PY to toggle
  2975.      !E xxxx:0798 02 1B 22"  -  Boldface print
  2976.  
  2977.      
  2978.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  2979.  
  2980. !XAllows a half line feed for ScriptingY
  2981.  
  2982.      E xxxx:075E 07 1B 54 31 32 0A 1B 41"
  2983.                            -  sends printer a half LF
  2984.  
  2985.  
  2986.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~T36
  2987.             !scriptingT12
  2988. XEnable SuperYA
  2989.  
  2990.      E xxxx:08AD 03 1B 72 0A"  -  set ^PT for a reverse
  2991.                                  half line feed
  2992.  
  2993.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~T36
  2994. !XEnable SubYT12
  2995.           scriptingA
  2996.      E xxxx:08A8 03 1B 66 0A"  -  set ^PV for a forward
  2997.                                  half line feed
  2998.  
  2999.  
  3000.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  3001.  
  3002. !XChange the Stike-out CharacterY
  3003.  
  3004.      E xxxx:07C1 5C"           -  changes strike-out character
  3005.                                  from a - to a \
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.                                5.6
  3012.  
  3013.                                                 !XWORD PROCESSINGY
  3014.  
  3015.  
  3016. T12
  3017.         tm
  3018. WORDSTAR"   (continued)T48
  3019. A
  3020.    !PATCH LIST" (continued)
  3021.  
  3022. !XChange the WordStar Underline to PRINT_CHARACTER's UnderlineY
  3023.  
  3024.      E xxxx:07C2"              -  changes WS underline]_________
  3025.                                      to a true underline]         
  3026.  
  3027.  
  3028.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  3029.  
  3030. !XSet Printer - InitializationY
  3031.  
  3032.      E xxxx:079D 10 1B 4E 1B 41 1B 4C 30 30 30
  3033.                                            1B 66 1B 5D 1B 3C 0D"
  3034.  
  3035.           This will set the printer to:
  3036.                          
  3037.                               -  PICA Character Pitch
  3038.                               -  Line Spacing at 1/6"
  3039.                               -  Left Margin at Zero(0)
  3040.                               -  Forward Line Feed direction
  3041.                               -  Logic Seek printing
  3042.                               -  Bidirectional printing
  3043.                               -  Carriage Return to Left Margin
  3044.  
  3045.  
  3046.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~
  3047.  
  3048. !XReset Printer - FinalizationY
  3049.  
  3050.      E xxxx:07AE  04 1B 4E 0D 0B"
  3051.  
  3052.           This will reset the printer to:
  3053.  
  3054.                               -  PICA Character Pitch
  3055.                               -  Carriage Return to Left Margin
  3056.                               -  Form Feed to end of last
  3057.                                  printed page
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.                                5.7
  3071.  
  3072.                                                 !XWORD PROCESSINGY
  3073.  
  3074.  
  3075. T12
  3076.         tm
  3077. WORDSTAR"   (continued)T48
  3078. A
  3079.    !PATCH ADDRESS SUMMARY"
  3080.  
  3081. Here  is a list of the storage locations which hold the printer
  3082. codes that make up our NEC 8023A patches.
  3083.  
  3084.  
  3085.           !WS
  3086. XADDRESS  CODE              FUNCTION                    HEX CODEY"
  3087.  
  3088.  :037B          tells WS Pica is default                     !00"
  3089.  :037C          set character width to 12/120"               !0C"
  3090.  :037D          set character width to 10/120"               !0A"
  3091.  :0746          allows mutiple stike printing                !FF"
  3092.  :0747   ^PB    set WS for triple strike print !TOGGLE        03"
  3093.  :0748   ^PD    set WS for double strike print !TOGGLE        02"
  3094.  :075E          allows half Line Feeds  !07 1B 54 31 32 0A 1B 41"
  3095.  :076B   ^PA    sets printer to Elite pitch            !02 1B 45"
  3096.  :0770   ^PN    sets printer to Pica pitch             !02 1B 4E"
  3097.  :077F   ^PQ    sets printer to Italics                   !01 12"
  3098.  :0784   ^PW    turns OFF printer underline            !02 1B 59"
  3099.  :0789   ^PE    sends an ESC to the printer               !01 1B"
  3100.  :078E   ^PR    turns ON printer underline             !02 1B 58"
  3101.  :0793   ^PY    turns ON printer Boldface              !02 1B 21"T12
  3102.                                           !{TOGGLE"
  3103.  :0798   ^PY    turns OFF printer Boldface             !02 1B 22"A
  3104.  :079D          initialize printer (set)
  3105.              !10 1B 4E 1B 41 1B 4C 30 30 30 1B 66 1B 5D 1B 3C 0D"
  3106.  :07AE          finalize printer (reset)         !04 1B 4E 0D 0B"
  3107.  :07C1   ^PX    sets strike-out to \ !TOGGLE                  5C"
  3108.  :07C2   ^PS    allows a true WS underline !TOGGLE            FF"
  3109.  :08A8   ^PV    forward half LF for sub scripts     !03 1B 66 0A"
  3110.  :08AD   ^PT    reverse half LF for superscripts    !03 1B 72 0A"
  3111. T48
  3112.    ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~A
  3113.  
  3114. !WordStar TOGGLES"
  3115.  
  3116. The WordStar printer control codes which are !TOGGLES" are always
  3117. used in pairs.   !ALWAYS!!"   And unless you want to confuse both
  3118. WordStar  and PRINT_CHARACTERS,  you should !NEST"  these  toggle
  3119. codes.  For instance.  Instead of:
  3120.  
  3121.        !^Y^Q^B"Boldface, italics and tripple-strike.!^Y^B^Q"
  3122.  
  3123.                              use:
  3124.  
  3125.        !^Y^Q^B"Boldface, italics and tripple-strike.!^B^Q^Y"
  3126.  
  3127.  
  3128.  
  3129.                                5.8
  3130.  
  3131.                                                 !XWORD PROCESSINGY
  3132.  
  3133.  
  3134. T12
  3135.         tm
  3136. WORDSTAR"   (continued)T48
  3137. A
  3138.    !PRINTER CONTROL CODE LIST"
  3139.  
  3140. Here  is  a list of the ^P codes you use with WordStar  and  an
  3141. explaination  of  what each one does.   This list assumes  that
  3142. PRINT_CHARACTERS  is  installed and you have made  all  of  the
  3143. patches to your working copy of WordStar.
  3144.  
  3145.  
  3146.  
  3147.          !CODE                ACTION"
  3148.  
  3149.          ^PA       select Alternate pitch - Elite
  3150.          ^PB       Triple strike printing - !TOGGLE"
  3151.          ^PC       causes printer to pause
  3152.          ^PD       Double strike printing - !TOGGLE"
  3153.          ^PE       causes ESC to be sent to printer
  3154.          ^PF       print Phantom Space character
  3155.          ^PG       print Phantom Rubout character
  3156.          ^PH       Overprint next character
  3157.          ^PL       causes a Form Feed to top of next page
  3158.          ^PN       select Normal pitch - Pica
  3159.          ^P0       insert a Non-break Space in text
  3160.          ^PQ       selects Italics characters - !TOGGLE"
  3161.          ^PR       Printer Underline - !ON"
  3162.          ^PS       WordStar Underline - !TOGGLE"
  3163.          ^PT       Superscript - !TOGGLE"
  3164.          ^PV       Subscript - !TOGGLE"
  3165.          ^PW       Printer Underline - !OFF"
  3166.          ^PX       Strike-out characters - !TOGGLE"
  3167.          ^PY       select printer Boldface - !TOGGLE"
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.                                5.9
  3189.  
  3190.                                                 !XWORD PROCESSINGY
  3191.  
  3192.  
  3193. T12
  3194.         tm
  3195. WORDSTAR"   (continued)T48
  3196. A
  3197.    !PRINTER CONTROL CODE LIST" (continued)
  3198.  
  3199. There are several special printer functions that can be invoked
  3200. only  by  using a !^P" code plus one or more of the  key  strokes
  3201. that follow.   Remember that ^PE sends the ESC character to the
  3202. printer.
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209. !X  KEY STROKES                   ACTION                        Y
  3210.  
  3211.  
  3212.                     General Printer Control"
  3213.  
  3214.     ^PE[           sets printer to Incremental print mode
  3215.     ^PE]           sets printer to Logic Seek print mode
  3216.  
  3217.                       !Horizontal Movement"
  3218.  
  3219.     ^PE3C          sets printer to Bidirectional printing
  3220.     ^PE3E          sets printer to Unidirectional printing
  3221.     ^PELxxx        sets Left Margin at column xxx
  3222.  
  3223.                        !Vertical Movement"
  3224.  
  3225.     ^PEf           sets Line Feed direction to Forward
  3226.     ^PEr           sets Line Feed direction to Reverse
  3227.     ^PETxx         sets Line Spacing to xx/144"
  3228.  
  3229.              !Manipulation of Printable Characters"
  3230.  
  3231.     ^PEP           sets printer to Proportional pitch
  3232.     ^PPQ           sets printer to Compressed pitch
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.                               5.10
  3248.  
  3249.                                                 !XWORD PROCESSINGY
  3250.  
  3251.  
  3252. T12
  3253.         tm
  3254. WORDSTAR"   (continued)T48
  3255. A
  3256. !XREMEMBERY
  3257.  
  3258.    1)" ALWAYS use the toggle codes in pairs.
  3259.  
  3260.    !2)" Be sure that you nest the toggle codes properly.
  3261.  
  3262.    !3)"  Do  not  attempt to carry italics from one line  to  the
  3263.    next.   Rather,  use  !^PQ"  at the end of the first line  and
  3264.    again at the beginning of the next line.
  3265. E
  3266.         For  instance,  !^PQ"we'll use italics for part  of  this!^PQ"
  3267.         !^PQ"sentence for emphasis.!^PQ
  3268. N
  3269.    4)" Likewise,  you must turn off the Printer Underline at the
  3270.    end  of a line and turn it on again at the beginning of  the
  3271.    next.
  3272. E
  3273.         !^PR"We'll use the Printer Underline for this entire!^PW"
  3274.         !^PR"sentence to show how it is turned off and on.!^PW
  3275. N
  3276.    5)"  In a line that has either Superscript or Subscript,  you
  3277.    must use the WordStar Underline !^PS" for acceptable results.
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306.                               5.11
  3307.  
  3308.                                                 !XWORD PROCESSINGY
  3309.  
  3310.  
  3311. T12
  3312.            tm
  3313. VOLKSWRITER"T48
  3314. A
  3315. If  you're  using one of the earlier versions  of  Volkswriter,
  3316. it's  very easy to make use of all the features added by PRINT_
  3317. CHARACTERS.   In fact, the only special code you need to remem-
  3318. ber is ASCII 18, used to turn italics ON and OFF.
  3319.  
  3320.  
  3321. But,  if on the other hand,  you use Volkswriter Deluxe, things
  3322. may be a bit more interesting,  since this version reserves all
  3323. of the ASCII codes below ASCII 32 for its own use.  Although it
  3324. appears that it may be possible to invoke italics by making use
  3325. of  the printer translation table,   the obvious way to set the
  3326. printer  (PRINT_CHARACTERS)  for italics is to use  the  !..verb
  3327. (VERBatum)  dot  command" so that all reserved ASCII  codes  are
  3328. sent unchanged to the printer.
  3329.  
  3330.  
  3331. SO!   To print a word,  (or words),  in italics,  your document
  3332. would appear this way on the screen.  ![xx] = ASCII 18
  3333. E
  3334.  
  3335.           ..verb
  3336.           This is a test of [xx]italics[xx] printing.
  3337.           ..norm"
  3338. N
  3339.  
  3340.  
  3341. And it should print out like this.
  3342. E
  3343.               !This is a test of italics printing."
  3344. N
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364.  
  3365.                               5.12
  3366.  
  3367.                                                 !XWORD PROCESSINGY
  3368.  
  3369.  
  3370. T12
  3371.          tm
  3372. FINALWORD"T48
  3373. A
  3374.  
  3375.  
  3376.  
  3377. This  is one(1) of the few word processors available that  will
  3378. allow  the use of the Proportional Characters available on  the
  3379. NEC 8023A.   That is,  it actually does print the  proportional
  3380. characters correctly, with microspacing if necessary.  The only
  3381. problem  is  that when we are using the proportional  character
  3382. set,  we  can't do italics printing or else FinalWord will  get
  3383. extremely confused as to where it is on a line of print.
  3384.  
  3385.  
  3386.  
  3387. The  only  special thing that needs to be done when using  this
  3388. word processor has to do with our printer switch settings.   If
  3389. you look on page A.1,  you will see that it is recommended that
  3390. !Lever 6 on Switch 1 should be OPEN".   Well,  !FinalWord requires
  3391. that this Lever(6) be CLOSED".   Even though this appears to  be
  3392. an unusual setting, it should cause no problems with your other
  3393. software.
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.                               5.13
  3425.  
  3426.